mirror of https://git.ffmpeg.org/ffmpeg.git
Merge commit '1dd021929f8157b88529ce1e6ab6351dd2899e89'
* commit '1dd021929f8157b88529ce1e6ab6351dd2899e89': hevc: clear unused refs on failure Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
commit
74e5a5a849
|
@ -459,7 +459,7 @@ int ff_hevc_frame_rps(HEVCContext *s)
|
|||
const ShortTermRPS *short_rps = s->sh.short_term_rps;
|
||||
const LongTermRPS *long_rps = &s->sh.long_term_rps;
|
||||
RefPicList *rps = s->rps;
|
||||
int i, ret;
|
||||
int i, ret = 0;
|
||||
|
||||
if (!short_rps) {
|
||||
rps[0].nb_refs = rps[1].nb_refs = 0;
|
||||
|
@ -493,7 +493,7 @@ int ff_hevc_frame_rps(HEVCContext *s)
|
|||
|
||||
ret = add_candidate_ref(s, &rps[list], poc, HEVC_FRAME_FLAG_SHORT_REF);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
goto fail;
|
||||
}
|
||||
|
||||
/* add the long refs */
|
||||
|
@ -503,14 +503,15 @@ int ff_hevc_frame_rps(HEVCContext *s)
|
|||
|
||||
ret = add_candidate_ref(s, &rps[list], poc, HEVC_FRAME_FLAG_LONG_REF);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
goto fail;
|
||||
}
|
||||
|
||||
fail:
|
||||
/* release any frames that are now unused */
|
||||
for (i = 0; i < FF_ARRAY_ELEMS(s->DPB); i++)
|
||||
ff_hevc_unref_frame(s, &s->DPB[i], 0);
|
||||
|
||||
return 0;
|
||||
return ret;
|
||||
}
|
||||
|
||||
int ff_hevc_compute_poc(HEVCContext *s, int poc_lsb)
|
||||
|
|
Loading…
Reference in New Issue