Commit Graph

341 Commits

Author SHA1 Message Date
Michael Niedermayer
c269cf68a0 Approved hunks for VAAPI / our new shiny hwaccel API
by Gwenole Beauchesne gbeauchesne splitted desktop com

Originally committed as revision 17539 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-23 13:35:52 +00:00
Diego Biurrun
de86157836 cosmetics: 'void/int inline' --> 'inline void/int' to avoid warnings of the type
"'inline' is not at beginning of declaration" with -Wextra.

Originally committed as revision 17392 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-17 12:11:46 +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
Gwenole Beauchesne
f92a6c66ed Record B-fraction index from frame header and two fields from entry point structure
into VC-1 context.

Patch by Gwenole Beauchesne
(gbeauchesne <whirlpool> splitted <dash> desktop <dit> com)
Thread [PATCH][VC-1] Record extra syntax elements for VA API support

Originally committed as revision 16859 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-30 17:15:08 +00:00
Kostya Shishkov
81169111ef Fix Doxygen comments for VC-1 decoder.
Originally committed as revision 16843 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-28 07:16:52 +00:00
Stefan Gehrer
3e7233688a avoid duplication of size_table and offset_table
Originally committed as revision 16743 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-24 14:28:08 +00:00
Kostya Shishkov
1cae2ef9a6 Remove the block with always false condition from vc1_parse_frame_header()
Originally committed as revision 16726 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-23 06:33:04 +00:00
Kostya Shishkov
a28d522491 VC-1 postproc field is 2 bits wide while decoder read only single bit.
Spotted by Stephen Warren.

Originally committed as revision 16725 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-23 06:31:17 +00:00
Carl Eugen Hoyos
27052238c0 Cosmetics: Fix indentation after last commit.
Originally committed as revision 16700 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-20 09:36:28 +00:00
NVIDIA Corporation
c5b42f4a80 Add VDPAU hardware accelerated decoding for WMV3 and VC1 which can
be used by video players.

Original patch by NVIDIA corporation.

Originally committed as revision 16699 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-20 09:28:36 +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
Jason Garrett-Glaser
5a44906d8e Fix 10L in r16670 (broke deblocking code)
Originally committed as revision 16671 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-18 07:20:12 +00:00
Jason Garrett-Glaser
0a359cf157 Faster VC-1 C loopfilter using lots of xor magic
Originally committed as revision 16670 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-18 07:14:36 +00:00
Kostya Shishkov
7a96cd3123 VC-1 display dimensions should affect coded dimensions only (I think)
Originally committed as revision 16578 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-13 08:05:40 +00:00
Kostya Shishkov
e9ca5f0892 Print VC-1 aspect ratio in debug
Originally committed as revision 16577 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-13 08:03:45 +00:00
Kostya Shishkov
820089cb06 421l: fix loop filter for P-frames in VC-1
Originally committed as revision 16576 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-13 08:02:31 +00:00
Carl Eugen Hoyos
63bfcb6997 Fill range_map* in VC1Context.
Originally committed as revision 16515 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-10 09:55:55 +00:00
Carl Eugen Hoyos
49186206eb Add refdist_flag to VC1Context.
Originally committed as revision 16504 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-09 16:51:21 +00:00
Kostya Shishkov
55374d57e8 421l: postproc flag may be present in any VC-1 AP frame type
Originally committed as revision 15842 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-16 06:47:44 +00:00
Kostya Shishkov
77298e99b7 Make it possible to disable loop filter in VC-1.
Unlike H.264 it does not affect picture quality on any files I've watched.

Originally committed as revision 15295 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-11 06:35:37 +00:00
Diego Biurrun
218e061201 Remove unused variable.
Originally committed as revision 14442 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-27 21:56:26 +00:00
Kostya Shishkov
00a750009f In-loop deblocking filter for VC-1 decoder
Originally committed as revision 14344 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-23 06:21:27 +00:00
Erik Hovland
8d8d2b7391 Fix a mem leak in vc1_decode_frame().
Patch by Erik Hovland erik hovland org

Originally committed as revision 14277 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-18 07:15:50 +00:00
Stefan Gehrer
5a89396989 remove duplicate tables
Originally committed as revision 13959 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-25 11:33:49 +00:00
Stefano Sabatini
fe4bf37455 Make AVCodec long_names definition conditional depending on CONFIG_SMALL.
Originally committed as revision 13759 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-12 21:50:13 +00:00
Diego Biurrun
f4433de9ef consistency cosmetics: indices --> indexes
Originally committed as revision 13444 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-26 23:14:25 +00:00
Stefano Sabatini
162d4fc99d Add long names to AVCodec declarations.
patch by Stefano Sabatini, stefano.sabatini-lala poste it

Originally committed as revision 13009 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-27 22:39:51 +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
Diego Biurrun
5e53486545 typo fix: inited --> initialized
Originally committed as revision 11920 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-13 09:26:10 +00:00
Aurelien Jacobs
60b6dbe716 const
Originally committed as revision 11800 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-01 23:25:27 +00:00
Michael Niedermayer
14ff144c1b some const
Originally committed as revision 11784 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-01 16:04:29 +00:00
Zdenek Kabelac
e2fdba650d Correctly clean up IntraX8Context upon codec close.
patch by Zdenek Kabelac, zdenek d kabelac a gmail d com

Originally committed as revision 11608 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-25 07:37:46 +00:00
Kostya Shishkov
95e3fdb846 pqindex=0 is forbidden
Originally committed as revision 11540 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-16 17:07:34 +00:00
Christophe Gisquet
750e37eb83 Select scan tables for 8x4 and 4x8 blocks only once.
Patch by Christophe GISQUET ([christophe][gisquet] <whirlpool sign> free <spot> fr)
Thread [PATCH] Determine once and for all zz scan tables to use in VC-1 VLD

Originally committed as revision 11525 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-14 06:10:02 +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
3a18218e7b Enable 4x4 IDCT for FASTTX=0 mode in WMV3
Originally committed as revision 11199 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-09 05:55:45 +00:00
Aurelien Jacobs
59e6f60a99 add ff_ prefix to all simple_idct symbols
Originally committed as revision 11192 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-08 21:21:11 +00:00
Kostya Shishkov
8df7cfe97c Use IDCT functions when FASTTX=0
Originally committed as revision 11189 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-08 10:50:50 +00:00
Kostya Shishkov
d2e45f33a4 Switch VC-1 decoder to output decoded residual immediately.
Originally committed as revision 11188 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-08 10:41:18 +00:00
Vitor Sessak
f87d2632b3 Fix alignment broke by my last patch
Originally committed as revision 11123 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-01 22:35:38 +00:00
Vitor Sessak
52b541ad79 spelling
Originally committed as revision 11122 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-01 22:21:04 +00:00
Christophe Gisquet
1a625dce18 Use put_signed_pixels_clamped where appropriate
Patch by Christophe GISQUET christophe.gisquet <whirlpool sign> fr(run of two 'e').(copy 2 bytes with offset -5)
Thread: [PATCH] Use signed version when putting and clamping pixels in VC-1

Originally committed as revision 11029 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-15 06:25:20 +00:00
Kostya Shishkov
63d2bad846 X8 is supported now, so warning is incorrect
Originally committed as revision 10990 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-10 08:23:01 +00:00
Michael Niedermayer
732cb5fd5a add {} to make the else look a little more normal
Originally committed as revision 10978 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-09 21:52:29 +00:00
Michael Niedermayer
dd2111bdb7 indention
Originally committed as revision 10977 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-09 21:51:50 +00:00
Michael Niedermayer
8590bcc3cd indention
Originally committed as revision 10976 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-09 21:49:41 +00:00
Michael Niedermayer
9abc7e0fdc intrax8 decoder patch by "someone"
Originally committed as revision 10971 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-09 21:37:48 +00:00
Kostya Shishkov
bf672ac73f Use simple IDCT for now
Originally committed as revision 10835 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-22 10:23:38 +00:00
Kostya Shishkov
c6137a61f4 Remove incorrect and unneeded code
Originally committed as revision 10834 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-22 10:22:36 +00:00
Kostya Shishkov
bbfc038f09 WMV3 mode with FASTTX=0 seems to use standard IDCT instead of own 8x8 transform
Originally committed as revision 10782 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-18 16:10:36 +00:00
Kostya Shishkov
2a898132a2 Enable error resilience in WMV3/VC-1 decoder
Originally committed as revision 10502 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-15 11:06:27 +00:00
Kostya Shishkov
a9d78ac51a HALFPQ should be used only for when PQUANT is selected
Originally committed as revision 10500 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-15 09:24:53 +00:00
Kostya Shishkov
f7d2a43707 In case when any quantizer may occur, HALFPQ should be zero
Originally committed as revision 10499 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-15 09:23:58 +00:00
Aurelien Jacobs
28296f9c9e move get_unary() to its own file
Originally committed as revision 10240 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-26 22:33:48 +00:00
Alex Beregszaszi
3a5729eae1 use skip_bits where appropriate
Originally committed as revision 10005 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-09 01:08:28 +00:00
Alex Beregszaszi
5fc32c275e use get_bits1(..) instead get_bits(.., 1)
Originally committed as revision 9999 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-09 00:13:31 +00:00
Alex Beregszaszi
3c2ddb5920 use get_unary from bitstream.h
Originally committed as revision 9996 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-08 22:54:47 +00:00
İsmail Dönmez
63e24954be Replace non-existing @fixme doxygen tags with @todo.
patch by Ismail Dönmez, ismail pardus.org tr

Originally committed as revision 9625 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-13 13:04:55 +00:00
Kostya Shishkov
3662aa766f Drop redundant assignment and variable
Originally committed as revision 9502 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-06 14:11:29 +00:00
Diego Biurrun
e5a389a1b7 license header consistency cosmetics
Originally committed as revision 9484 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-05 10:40:25 +00:00
Kostya Shishkov
26bdc6bc6e this prediction direction adjustment is wrong
Originally committed as revision 9450 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-28 15:53:36 +00:00
Kostya Shishkov
c294d7c6ba Typo
Originally committed as revision 9290 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-12 15:03:28 +00:00
Diego Biurrun
755bfeabcc misc spelling fixes
Originally committed as revision 9289 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-12 09:29:25 +00:00
Aurelien Jacobs
82dc348bd1 those tables don't need to be extern
Originally committed as revision 8972 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-10 10:14:58 +00:00
Aurelien Jacobs
5ecb0677a2 use header instead of copying table declarations
Originally committed as revision 8970 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-10 10:12:02 +00:00
Diego Biurrun
2029f312e8 Remove redundant #inclusion of common.h, avcodec.h already #includes it.
Originally committed as revision 8967 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-10 09:00:44 +00:00
Kostya Shishkov
a5c14fcaef Add ff_ prefix to (externally) visible variables
Originally committed as revision 8951 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-09 16:59:46 +00:00
Kostya Shishkov
2a2072fe1e Use correct dequantizer value
Originally committed as revision 8950 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-09 11:30:30 +00:00
Kostya Shishkov
660e83f815 Add prefix to some variables for consistency
Originally committed as revision 8916 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-06 11:40:42 +00:00
Kostya Shishkov
22c3029da1 Move variables to vc1data.h
Originally committed as revision 8913 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-06 10:58:32 +00:00
Kostya Shishkov
7d9a6a0fc3 Move some declarations into header
Based on patch by Denis Fortin
(cons (car '(fortin NOSPAM)) '(nerim net))

Originally committed as revision 8884 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-04 03:34:21 +00:00
Diego Biurrun
5982ae94ee Move VC1 parser to its own file.
Originally committed as revision 8882 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-04 00:09:33 +00:00
Diego Biurrun
7f3f0dc221 Remove unused variable.
Originally committed as revision 8769 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-21 15:55:45 +00:00
Kostya Shishkov
a61456152d Pullback should be performed on scaled motion vectors in B-frames
Originally committed as revision 8750 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-18 17:36:52 +00:00
Kostya Shishkov
44942d52b6 Set C predictor to zero if unavailable (should fix B-frame border artifacts)
Originally committed as revision 8702 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-10 05:31:22 +00:00
Kostya Shishkov
047549d382 vc1_split should be static
Originally committed as revision 8626 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-04 13:26:26 +00:00
Kostya Shishkov
351f6b4e91 FASTTX==0 means additional 16 bits in extradata
Originally committed as revision 8533 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-03-27 07:28:52 +00:00
Kostya Shishkov
6b27f3b87f One more FASTTX-related hack
Originally committed as revision 8532 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-03-27 07:27:53 +00:00
Kostya Shishkov
b666151045 1000l to myself - get correct quantization for blocks 1 and 2
P.S.  This condition could be also written as if(n==3 || n==(2-dc_pred_dir))

Originally committed as revision 8508 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-03-25 06:00:06 +00:00
Kostya Shishkov
9a44385e1a Zero MV vectors for P frame intra blocks
Originally committed as revision 8440 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-03-18 18:07:27 +00:00
Kostya Shishkov
7c9712335b indentation
Originally committed as revision 8437 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-03-18 07:53:16 +00:00
Kostya Shishkov
ab47579565 Proper handling of motion vectors for adv. profile
Originally committed as revision 8436 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-03-18 07:51:40 +00:00
Kostya Shishkov
c52ff68852 Looks like I'll work on it this year too
Originally committed as revision 8160 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-28 06:59:39 +00:00
Kostya Shishkov
9d1f80f207 WMV3 Complex Profile initial support
Originally committed as revision 8159 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-28 06:39:58 +00:00
Reimar Döffinger
f66e4f5f9e Add av_ prefix to clip functions
Originally committed as revision 8122 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-25 10:27:12 +00:00
Kostya Shishkov
674678b04a Intensity compensation for B-frames in AP was missing
Originally committed as revision 7962 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-13 07:48:23 +00:00
Kostya Shishkov
ac91185fb7 Progressive frames disguised as interlaced are supported
Originally committed as revision 7849 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-06 07:16:52 +00:00
Kostya Shishkov
6eda6e37a9 B-frames could not be determined from broken_link/closed_entry, use fixed value
Originally committed as revision 7848 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-06 07:11:20 +00:00
Kostya Shishkov
02c823d4f3 Wrong flag tested
Originally committed as revision 7847 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-06 07:07:29 +00:00
Kostya Shishkov
4305a4ef0d Set codec dimensions in extradata parsing
Originally committed as revision 7820 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-05 06:58:02 +00:00
Kostya Shishkov
93731ff27d Save frame header info in context variables
Originally committed as revision 7815 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-04 10:46:28 +00:00
Kostya Shishkov
f0c31621c6 Set frame rate from extradata
Originally committed as revision 7814 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-04 10:45:01 +00:00
Kostya Shishkov
f0a85d5f5c These messages are just for debug purposes
Originally committed as revision 7811 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-03 06:43:06 +00:00
Kostya Shishkov
e7cf38e556 Set codec dimensions if provided by extradata
Originally committed as revision 7810 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-03 06:41:14 +00:00
Kostya Shishkov
35bffd7f3d VC-1 parser
Originally committed as revision 7809 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-03 06:39:50 +00:00
Kostya Shishkov
8165ee9394 0x00000103 is not an escape marker
Originally committed as revision 7807 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-02 15:14:13 +00:00
Kostya Shishkov
77ccd3ba54 General approach to parsing chunks in VC-1 AP
Originally committed as revision 7803 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-02 06:45:21 +00:00
Kostya Shishkov
b956373b6f Check for out-of-bounds access
Originally committed as revision 7797 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-01 18:39:49 +00:00
Kostya Shishkov
b024824bed Fix BI-frames decoding for Adv. profile
Originally committed as revision 7758 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-01-29 14:23:00 +00:00
Kostya Shishkov
74fd63d009 Set aspect ratio if present (for AP only)
Originally committed as revision 7720 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-01-27 06:57:11 +00:00
Kostya Shishkov
8ea780d73d Add debug messages for AP headers
Originally committed as revision 7695 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-01-24 17:50:28 +00:00
Kostya Shishkov
14f3f3a1ad Off-by-one error fix
Originally committed as revision 7694 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-01-24 17:49:26 +00:00
Kostya Shishkov
5cca6bc3cd Fail on VC-1 interlaced streams
Originally committed as revision 7693 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-01-24 17:47:42 +00:00
Alex Beregszaszi
fead30d444 rename BE/LE_8/16/32 to AV_RL/B_8/16/32
Originally committed as revision 7587 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-01-19 22:12:59 +00:00
Reimar Döffinger
6f3e4e1712 Check mb_pos is big enough before trying to access data left or above.
Fixes out-of-bound access for http://samples.mplayerhq.hu/V-codecs/WMV9/nokia_n90.wmv

Originally committed as revision 7324 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-12-17 11:11:44 +00:00
Måns Rullgård
849f10351d rename always_inline to av_always_inline and move to common.h
Originally committed as revision 7256 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-12-08 00:35:08 +00:00
Kostya Shishkov
08baa3e0d7 10e6l FastUVMC was done right but in the wrong place
Originally committed as revision 7207 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-12-02 12:55:29 +00:00
Kostya Shishkov
98ba1cfaf7 100l FastUVMC rounding was incorrect.
This should also improve quality on WMV9Drifting.asf

Originally committed as revision 7190 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-12-01 07:24:56 +00:00
Kostya Shishkov
61f5b14a8e Correct rounding values in overlap filtering
Originally committed as revision 7171 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-11-26 04:57:31 +00:00
Kostya Shishkov
5081f3aad5 B-frames support for adv. profile
Originally committed as revision 7170 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-11-26 04:54:17 +00:00
Kostya Shishkov
b8ce8f15a0 100l: Initialize dc_scale with current quantizer for adv I frames
Originally committed as revision 7169 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-11-26 04:53:36 +00:00
Kostya Shishkov
25e9c7efa5 Use halfpq in coefficient scaling
Originally committed as revision 7168 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-11-26 04:52:36 +00:00
Kostya Shishkov
b6fa8993fb Overlap filtering was done in reverse order
Originally committed as revision 7111 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-11-17 06:09:32 +00:00
Diego Biurrun
c26abfa541 Rename ABS macro to FFABS.
Originally committed as revision 6666 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-11 23:17:58 +00:00
Diego Biurrun
b78e7197a8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
and fix GPL/LGPL version mismatches.

Originally committed as revision 6577 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-07 15:30:46 +00:00
Diego Biurrun
36c32bdddf Remove unused variables and the corresponding warnings along with them.
Originally committed as revision 6536 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-03 17:12:48 +00:00
Måns Rullgård
b86216de4c dc_val should be signed
Originally committed as revision 6364 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-09-27 22:13:44 +00:00
Måns Rullgård
191e8ca752 fix some signedness warnings
Originally committed as revision 6355 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-09-27 19:47:39 +00:00
Kostya Shishkov
a1ef006823 Finally enable B-frame decoding as all known samples work perfect
Originally committed as revision 6309 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-09-21 04:46:11 +00:00
Kostya Shishkov
6b33eed83f For B-frames if the second reference frame signals intensity compensation
then the first reference frame should be intensity compensated.

Originally committed as revision 6308 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-09-21 04:44:35 +00:00
Kostya Shishkov
162f412dec Reorder MV order in B-frames so no swapping in vc1_b_mc() is needed
Originally committed as revision 6307 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-09-21 04:38:47 +00:00
Kostya Shishkov
e179fbc850 Swap back and forward motion vectors to achieve correct picture
Originally committed as revision 6237 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-09-12 04:35:11 +00:00
Kostya Shishkov
1884a48bee Set motion vectors used in B-frames to zero by default
Originally committed as revision 6236 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-09-12 04:29:37 +00:00
Kostya Shishkov
c8868640c1 Use h264_chroma funcs in B-frames MC too
Originally committed as revision 6235 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-09-12 04:19:07 +00:00
Kostya Shishkov
b116cc7f95 Fix edge emulation for bicubic MC in B frames
Originally committed as revision 6234 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-09-12 04:16:28 +00:00
Kostya Shishkov
f9942ba94b 2989l: Set avctx->has_b_frames value in header and don't change it
Originally committed as revision 6233 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-09-12 04:13:00 +00:00
Kostya Shishkov
dc43482b26 Disable B-frames decoding until they produce correct picture
Originally committed as revision 6218 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-09-10 04:24:53 +00:00
Kostya Shishkov
34a8dcd031 Drop unneeded checks before av_free() and change to av_freep() where it's more suitable.
Originally committed as revision 6212 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-09-09 11:40:41 +00:00
Kostya Shishkov
767516533d Support for BI-frames in Advanced Profile
Originally committed as revision 6211 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-09-09 11:32:36 +00:00
Kostya Shishkov
d429c98208 Don't print header bits by default
Originally committed as revision 6210 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-09-09 11:29:17 +00:00
Kostya Shishkov
6cf6d0ec1a [Cosmetics] Remove if(profile < PROFILE_ADVANCED) from decode_sequence_header()
as it's always true and reindent code inside by the way.

Originally committed as revision 6209 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-09-09 11:28:02 +00:00
Kostya Shishkov
d1d28ddf99 [Cosmetics] Remove some done TODOs/FIXMEs from comments
Originally committed as revision 6208 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-09-09 11:23:44 +00:00
Kostya Shishkov
1dc1ce643e Proper support for B/BI frames
Originally committed as revision 6207 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-09-09 11:21:56 +00:00
Kostya Shishkov
3c275f6def VC-1 Advanced Profile support (progressive only, tested on WVC1 samples)
Originally committed as revision 6162 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-09-04 04:24:49 +00:00
Kostya Shishkov
b0c8e1b80a Replace usage of put_*_vc1_qpel_pixels_tab with put_*_h264_chroma_pixels_tab
Originally committed as revision 6151 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-09-02 04:53:49 +00:00
Kostya Shishkov
74691b7bcb New qpel MC functions conforming to VC-1 standard.
Existing DSPUtil functions cause chroma artifacts on some files.

Originally committed as revision 6139 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-31 04:44:54 +00:00
Kostya Shishkov
2d5eadccb5 Spelling
Originally committed as revision 6138 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-31 04:42:13 +00:00
Kostya Shishkov
66ff2c1f52 Motion compensation for luma always use halfpel precision.
Originally committed as revision 6137 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-31 04:39:27 +00:00
Kostya Shishkov
6b53e173cf Disable B-frames decoding until I return and finish their proper decoding.
Originally committed as revision 5980 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-11 04:41:30 +00:00
Kostya Shishkov
fb2d9140e4 Correct MC for B-frames and some improvements (not 100% complete though)
Originally committed as revision 5938 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-06 03:44:31 +00:00
Kostya Shishkov
78cbfc0c88 Bicubic interpolation requires two additional pixels for block
Originally committed as revision 5937 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-06 03:42:39 +00:00
Kostya Shishkov
99f649a265 100l: intensity compensation must be also done in 4-MV mode
Originally committed as revision 5928 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-04 03:31:01 +00:00
Kostya Shishkov
48d3fca717 Don't try to decode P-frames from old WMV3 variant until their format is figured
Originally committed as revision 5900 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-03 05:09:36 +00:00
Kostya Shishkov
8295eb302f Use bicubic MC (should also remove those ringing artifacts) when needed
Originally committed as revision 5864 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-30 03:50:31 +00:00
Kostya Shishkov
5ce425f7e6 Use functions from DSPContext in vc1.c
Originally committed as revision 5863 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-30 03:47:26 +00:00
Kostya Shishkov
09be55df9c Set MpegEncContext->mspel flag (here it indicates that bicubic MC will be use)
Originally committed as revision 5845 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-29 03:11:14 +00:00
Kostya Shishkov
ffb9a8b1b6 Support range reduced frames
Originally committed as revision 5844 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-29 03:07:30 +00:00
Kostya Shishkov
138712fe43 Support grayscale decoding.
Originally committed as revision 5843 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-29 03:05:29 +00:00
Kostya Shishkov
0154bae137 Add rounding for overlap filters
Originally committed as revision 5834 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-28 03:27:37 +00:00
Kostya Shishkov
5df6889364 Some B-frames support (parsing and decoding only, no motion compesation is done)
Originally committed as revision 5820 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-24 04:24:53 +00:00
Kostya Shishkov
c39e3c6fbb Some fixes for decode_p_mb()
Originally committed as revision 5819 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-24 04:20:49 +00:00
Diego Biurrun
9f82cdc7b5 Remove obsolete and misleading warning.
Originally committed as revision 5816 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-23 20:45:20 +00:00
Kostya Shishkov
83b3df83d3 Correct edge MC for chroma
Originally committed as revision 5813 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-23 04:57:36 +00:00
Kostya Shishkov
230e9d4ca7 Replace code for clipping MV vectors (which is wrong to use here) with clipping source coords.
Originally committed as revision 5811 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-22 03:57:53 +00:00
Kostya Shishkov
4b94465927 Don't do non-uniform quantization on zero coeffs.
Originally committed as revision 5810 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-22 03:54:00 +00:00
Kostya Shishkov
27ed1a0dee 1000l: scale DC predictors instead of predicted value.
Originally committed as revision 5808 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-21 04:06:06 +00:00
Kostya Shishkov
92ad0d9d3b Set DC = 0 for skipped MB as it interferes DC prediction
Originally committed as revision 5807 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-21 04:03:56 +00:00
Kostya Shishkov
b53921aabd Set correctly quantizer and transform mode when parsing frame header.
Originally committed as revision 5806 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-21 03:58:48 +00:00
Kostya Shishkov
7e84f27693 Don't pass block[6][64] parameter to decode_p_mb as we always use s->block
Originally committed as revision 5761 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-16 03:50:00 +00:00
Kostya Shishkov
0a45801f8e Correct inverse quantization for P-frames
Originally committed as revision 5760 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-16 03:47:34 +00:00
Kostya Shishkov
c5b32ec1cb Rounding control for motion compensation.
Originally committed as revision 5759 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-16 03:45:04 +00:00
Diego Biurrun
e148c6e193 FastUVMV vs FastUVMC typo, noticed by bond
Originally committed as revision 5693 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-09 15:12:45 +00:00
Kostya Shishkov
fdb5983285 Check if 4-MV MB should not be decoded.
Originally committed as revision 5688 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-09 03:00:57 +00:00
Kostya Shishkov
5c4b8efd4b MVRANGE may occur in all frames and RESPIC in all but B-frames
Originally committed as revision 5687 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-09 02:56:40 +00:00
Kostya Shishkov
3a3f1cf3f8 Fix mquant selection for ALL_MBS mode
Originally committed as revision 5686 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-09 02:51:13 +00:00
Kostya Shishkov
65c7bb9ec4 Use overlap filter instead of loop filter.
Originally committed as revision 5685 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-09 02:47:09 +00:00
Kostya Shishkov
d2779ecd8b Use s->first_slice_line in checks instead of s->mb_y
Originally committed as revision 5684 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-09 02:44:05 +00:00
Kostya Shishkov
913e93d5f2 Improve chroma MC: correct case for FASTUVMC=1, use slower but correct /2, and always use halfpel MC.
Not quite there yet but a bit better picture on some files.

Originally committed as revision 5652 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-07 05:02:01 +00:00
Kostya Shishkov
50af2fd30d Enable coefficient scaling
Originally committed as revision 5651 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-07 04:51:50 +00:00
Kostya Shishkov
928dc49d0e Don't read out-of-bounds values.
Originally committed as revision 5650 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-07 04:50:13 +00:00
Kostya Shishkov
1ae4a8e61f Fix one case of choosing MV for chroma
Originally committed as revision 5635 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-06 03:42:51 +00:00
Kostya Shishkov
66d0ad2605 Implement intensity compensation
Originally committed as revision 5609 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-04 15:40:09 +00:00
Kostya Shishkov
8a66a390cc Correctly choose global transform mode, MV mode and fix bitplane decoding
Originally committed as revision 5608 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-04 15:39:21 +00:00
Kostya Shishkov
35a9cac888 Optimizations suggested by Michael Niedermayer
Originally committed as revision 5607 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-04 15:33:28 +00:00
Kostya Shishkov
05103ed33f Correctly detect when use hpel or qpel mode
Originally committed as revision 5601 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-03 17:22:18 +00:00
Kostya Shishkov
ef6cc8ce46 4-MV mode final fixes (now it works for non-exotic modes)
Originally committed as revision 5600 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-03 17:21:18 +00:00
Kostya Shishkov
4a5343fabc vc1_decode_intra_block() simplifications and corrections
Originally committed as revision 5599 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-03 17:17:25 +00:00
Kostya Shishkov
e4bf0302a3 4-MV decoding support
Originally committed as revision 5591 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-03 02:38:08 +00:00
Kostya Shishkov
8f8d0e4875 Adjust AC prediction if (some) predictors are not available.
Originally committed as revision 5564 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-01 07:22:29 +00:00
Kostya Shishkov
e9f2396e6f 0xFFFF l of cola. Now P-frames are decoded almost without distortions.
Originally committed as revision 5563 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-01 07:13:52 +00:00
Kostya Shishkov
a34c26cc3d Remove unused variable (and it wasn't free'd too)
Originally committed as revision 5562 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-01 03:19:28 +00:00
Kostya Shishkov
0f7344aad9 Use MpegEncContext->mbskip_table instead of custom bitplane.
Originally committed as revision 5561 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-01 03:17:54 +00:00
Kostya Shishkov
3f6d6af66e Slightly reworked MC code, it gives better picture.
Originally committed as revision 5554 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-06-30 03:19:31 +00:00
Kostya Shishkov
c436ff41d2 typo
Originally committed as revision 5553 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-06-30 03:17:31 +00:00
Kostya Shishkov
87dfe848fa Some optimization and fixes - mostly reworked MC and bitplanes.
Originally committed as revision 5543 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-06-29 11:05:33 +00:00
Kostya Shishkov
e8ba1cea3c This should make P-frames decoding work on x86 (by avoiding get_bits(0))
Originally committed as revision 5542 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-06-29 11:02:33 +00:00
Kostya Shishkov
f26c2ef53b Added loop filtering as ersatz for overlap filter (improves picture quality for coarse quantization).
Originally committed as revision 5535 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-06-27 15:37:48 +00:00
Kostya Shishkov
8985c915af VC1 Intra blocks in P-frames use different zigzag table than I-frames.
Originally committed as revision 5534 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-06-27 15:34:14 +00:00
Kostya Shishkov
be3492ec7e VC-1 decoder with I-frames support and partial P-frames decoding
Originally committed as revision 5530 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-06-27 03:11:51 +00:00
Kostya Shishkov
10b9c374cf Rename VC9 to VC1 as there is no such thing as VC9
Originally committed as revision 5529 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-06-27 02:55:54 +00:00