summaryrefslogtreecommitdiff
path: root/src/libffmpeg/libavcodec/h264.c
diff options
context:
space:
mode:
authorEwald Snel <esnel@users.sourceforge.net>2003-06-27 13:41:25 +0000
committerEwald Snel <esnel@users.sourceforge.net>2003-06-27 13:41:25 +0000
commitcfc0aae9579f9e3ea07d88808fe6048cb6ea7dd4 (patch)
tree55056dca933cc427b869ced8ba16bb8d7f7922a1 /src/libffmpeg/libavcodec/h264.c
parent0fe3cd97bd25afac12288ab70ccace97da570662 (diff)
downloadxine-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.c3
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;