diff options
author | Ewald Snel <esnel@users.sourceforge.net> | 2003-06-27 13:41:25 +0000 |
---|---|---|
committer | Ewald Snel <esnel@users.sourceforge.net> | 2003-06-27 13:41:25 +0000 |
commit | cfc0aae9579f9e3ea07d88808fe6048cb6ea7dd4 (patch) | |
tree | 55056dca933cc427b869ced8ba16bb8d7f7922a1 /src/libffmpeg/libavcodec/h264.c | |
parent | 0fe3cd97bd25afac12288ab70ccace97da570662 (diff) | |
download | xine-lib-cfc0aae9579f9e3ea07d88808fe6048cb6ea7dd4.tar.gz xine-lib-cfc0aae9579f9e3ea07d88808fe6048cb6ea7dd4.tar.bz2 |
- fix PLANE_PRED8x8 prediction (H/V are swapped, this is correct!)
- fix B-frame motion compensation
- cleanup motion vector math and other blocks of common code
CVS patchset: 5106
CVS date: 2003/06/27 13:41:25
Diffstat (limited to 'src/libffmpeg/libavcodec/h264.c')
-rw-r--r-- | src/libffmpeg/libavcodec/h264.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/libffmpeg/libavcodec/h264.c b/src/libffmpeg/libavcodec/h264.c index 97af5b95c..3858703f0 100644 --- a/src/libffmpeg/libavcodec/h264.c +++ b/src/libffmpeg/libavcodec/h264.c @@ -1712,6 +1712,9 @@ static inline void pred16x16_plane_compat_c(uint8_t *src, int stride, const int if(svq3){ H = ( 5*(H/4) ) / 16; V = ( 5*(V/4) ) / 16; + + /* required for 100% accuracy */ + i = H; H = V; V = i; }else{ H = ( 5*H+32 ) >> 6; V = ( 5*V+32 ) >> 6; |