aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/h264.c
diff options
context:
space:
mode:
authorMike Melanson <mike@multimedia.cx>2003-06-27 15:05:29 +0000
committerMike Melanson <mike@multimedia.cx>2003-06-27 15:05:29 +0000
commit2e26c8d204a97eb642d1c30fd165054308750a74 (patch)
tree0bfd69697cb05a6637412a97b970457b97fe45d9 /libavcodec/h264.c
parent89ebf4e85ef14dbfb469b8ca9264a337208d5aca (diff)
downloadffmpeg-2e26c8d204a97eb642d1c30fd165054308750a74.tar.gz
- 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 Originally committed as revision 1991 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/h264.c')
-rw-r--r--libavcodec/h264.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/libavcodec/h264.c b/libavcodec/h264.c
index e73f32d7a2..6cf19c4712 100644
--- a/libavcodec/h264.c
+++ b/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;