summaryrefslogtreecommitdiff
path: root/libavcodec
diff options
context:
space:
mode:
authorKostya Shishkov <kostya.shishkov@gmail.com>2009-02-25 08:35:37 +0000
committerKostya Shishkov <kostya.shishkov@gmail.com>2009-02-25 08:35:37 +0000
commit77f7156d85b77bb9a52842c552519642ae6891c0 (patch)
tree5a110e9ee75564b19565d0f89015024abca17237 /libavcodec
parent28c1720023e8596bfb4117702e23aa58fffdd782 (diff)
Since motion vectors for intra blocks are always zero, do not try to retrieve them.
Originally committed as revision 17584 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/rv34.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/libavcodec/rv34.c b/libavcodec/rv34.c
index 607a92837c..915d1e3842 100644
--- a/libavcodec/rv34.c
+++ b/libavcodec/rv34.c
@@ -787,6 +787,9 @@ static int rv34_decode_mv(RV34DecContext *r, int block_type)
case RV34_MB_B_DIRECT:
//surprisingly, it uses motion scheme from next reference frame
next_bt = s->next_picture_ptr->mb_type[s->mb_x + s->mb_y * s->mb_stride];
+ if(IS_INTRA(next_bt))
+ fill_rectangle(s->current_picture_ptr->motion_val[0][s->mb_x * 2 + s->mb_y * 2 * s->b8_stride], 2, 2, s->b8_stride, 0, 4);
+ else
for(j = 0; j < 2; j++)
for(i = 0; i < 2; i++)
for(k = 0; k < 2; k++)