On Tue, Mar 9, 2021 at 3:39 AM James Almer <jamr...@gmail.com> wrote:
>
> In addition to the fact that av_image_copy() cannot handle hardware pixel
> formats, h->short_ref[0]->f may not even be writable at this point.
>
> Based on a patch by Hendrik Leppkes.
>
> Signed-off-by: James Almer <jamr...@gmail.com>
> ---
> This is an alternative to "avcodec/h264_slice: properly handle missing
> reference frames with hwaccel", given that I noticed that the target frame is
> not writable for example when running fate-h264-missing-frame.
>
> To keep the current behavior of copying the frame data instead of making a
> reference, I also tried to do ff_thread_release_buffer() ->
> ff_thread_get_buffer() -> av_frame_copy(), which worked with software 
> decoding,
> but when using the d3d11va hwaccel the av_frame_copy() call would fail.
>
> There is a warning above this code that makes it sound like making references
> is not ideal, but considering h->short_ref[0] is not writable here it feels
> like it could be an outdated comment that someone forgot to remove.
>

Looks more thorough then my original change. I was worried about the
comment also, but I think it may have been from before the days of
ref-counting, frame threading, and all that (the comment appeared with
the original code in e2983d6eac7b0bb563886c6f97c4ce0385b2018d, 2010)

Perhaps the comment should be removed if we are going to reference now anyway?

- Hendrik
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to