diff options
author | Mike Melanson <mike@multimedia.cx> | 2003-06-27 15:05:29 +0000 |
---|---|---|
committer | Mike Melanson <mike@multimedia.cx> | 2003-06-27 15:05:29 +0000 |
commit | 2e26c8d204a97eb642d1c30fd165054308750a74 (patch) | |
tree | 0bfd69697cb05a6637412a97b970457b97fe45d9 /libavcodec/h264.c | |
parent | 89ebf4e85ef14dbfb469b8ca9264a337208d5aca (diff) | |
download | ffmpeg-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.c | 3 |
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; |