Commit Graph

166 Commits

Author SHA1 Message Date
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