summaryrefslogtreecommitdiff
path: root/libavcodec/hevc_mvs.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2014-02-10 03:54:21 +0100
committerMichael Niedermayer <michaelni@gmx.at>2014-02-10 03:54:54 +0100
commit03911c418f1a659049dfbe1ca2707670a8e5f731 (patch)
tree6235ee8d9eb516243fe594886ca16ef2af1202d0 /libavcodec/hevc_mvs.c
parent51290068fa12995f68cff0ee309064f4cf6e788d (diff)
parent246d3bf0ec93dd21069f9352ed4909aec334cd4d (diff)
Merge remote-tracking branch 'qatar/master'
* qatar/master: hevc: Conceal zero td Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/hevc_mvs.c')
-rw-r--r--libavcodec/hevc_mvs.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/libavcodec/hevc_mvs.c b/libavcodec/hevc_mvs.c
index b4e067b876..2b5c07c655 100644
--- a/libavcodec/hevc_mvs.c
+++ b/libavcodec/hevc_mvs.c
@@ -569,8 +569,12 @@ static av_always_inline void dist_scale(HEVCContext *s, Mv *mv,
int ref_pic_elist = refPicList[elist].list[TAB_MVF(x, y).ref_idx[elist]];
int ref_pic_curr = refPicList[ref_idx_curr].list[ref_idx];
- if (ref_pic_elist != ref_pic_curr)
- mv_scale(mv, mv, s->poc - ref_pic_elist, s->poc - ref_pic_curr);
+ if (ref_pic_elist != ref_pic_curr) {
+ int poc_diff = s->poc - ref_pic_elist;
+ if (!poc_diff)
+ poc_diff = 1;
+ mv_scale(mv, mv, poc_diff, s->poc - ref_pic_curr);
+ }
}
static int mv_mp_mode_mx(HEVCContext *s, int x, int y, int pred_flag_index,