ffmpeg | branch: master | averne <averne...@gmail.com> | Sun Mar 23 21:15:18 2025 +0100| [02eda84bf2fcf0db7793872204b0f564a6557232] | committer: Zhao Zhili
avcodec/h264: fix reference reordering Fixes hardware decoders depending on long_term_pic_idx. Relevant ITU conformance test vectors: MR6_BT_B, MR8_BT_B Signed-off-by: Zhao Zhili <zhiliz...@tencent.com> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=02eda84bf2fcf0db7793872204b0f564a6557232 --- libavcodec/h264_refs.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/libavcodec/h264_refs.c b/libavcodec/h264_refs.c index 050ca92292..74840e5909 100644 --- a/libavcodec/h264_refs.c +++ b/libavcodec/h264_refs.c @@ -337,7 +337,7 @@ int ff_h264_build_ref_list(H264Context *h, H264SliceContext *sl) break; } if (i >= 0) - ref->pic_id = pred; + pic_id = pred; break; } case 2: { @@ -354,7 +354,6 @@ int ff_h264_build_ref_list(H264Context *h, H264SliceContext *sl) ref = h->long_ref[long_idx]; assert(!(ref && !ref->reference)); if (ref && (ref->reference & pic_structure)) { - ref->pic_id = pic_id; assert(ref->long_ref); i = 0; } else { @@ -376,7 +375,7 @@ int ff_h264_build_ref_list(H264Context *h, H264SliceContext *sl) for (i = index; i + 1 < sl->ref_count[list]; i++) { if (sl->ref_list[list][i].parent && ref->long_ref == sl->ref_list[list][i].parent->long_ref && - ref->pic_id == sl->ref_list[list][i].pic_id) + pic_id == sl->ref_list[list][i].pic_id) break; } for (; i > index; i--) { _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog To unsubscribe, visit link above, or email ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".