mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-01-10 09:09:50 +00:00
hevc_mvs: make sure to always initialize the temporal MV fully
The spec requires this. Fixes uninitialized reads on some samples. Remove now unnecessary initialization of the whole merge candidate list.
This commit is contained in:
parent
de31f85707
commit
0b41eeac45
@ -481,14 +481,10 @@ static void derive_spatial_merge_candidates(HEVCContext *s, int x0, int y0,
|
||||
mergecandlist[nb_merge_cand].is_intra = 0;
|
||||
mergecandlist[nb_merge_cand].pred_flag[0] = available_l0;
|
||||
mergecandlist[nb_merge_cand].pred_flag[1] = available_l1;
|
||||
if (available_l0) {
|
||||
mergecandlist[nb_merge_cand].mv[0] = mv_l0_col;
|
||||
mergecandlist[nb_merge_cand].ref_idx[0] = 0;
|
||||
}
|
||||
if (available_l1) {
|
||||
mergecandlist[nb_merge_cand].mv[1] = mv_l1_col;
|
||||
mergecandlist[nb_merge_cand].ref_idx[1] = 0;
|
||||
}
|
||||
AV_ZERO16(mergecandlist[nb_merge_cand].ref_idx);
|
||||
mergecandlist[nb_merge_cand].mv[0] = mv_l0_col;
|
||||
mergecandlist[nb_merge_cand].mv[1] = mv_l1_col;
|
||||
|
||||
if (merge_idx == nb_merge_cand)
|
||||
return;
|
||||
nb_merge_cand++;
|
||||
@ -558,8 +554,6 @@ void ff_hevc_luma_mv_merge_mode(HEVCContext *s, int x0, int y0, int nPbW,
|
||||
int nPbH2 = nPbH;
|
||||
HEVCLocalContext *lc = &s->HEVClc;
|
||||
|
||||
memset(mergecand_list, 0, MRG_MAX_NUM_CANDS * sizeof(*mergecand_list));
|
||||
|
||||
if (s->pps->log2_parallel_merge_level > 2 && nCS == 8) {
|
||||
singleMCLFlag = 1;
|
||||
x0 = lc->cu.x;
|
||||
|
Loading…
Reference in New Issue
Block a user