Commit Graph

275 Commits

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