Quoting Mark Thompson (2017-04-02 20:37:13)
> On 31/03/17 20:14, Anton Khirnov wrote:
> > Quoting Mark Thompson (2017-03-05 00:57:40)
> >> Use the flags argument of av_hwframe_ctx_create_derived() to pass the
> >> mapping flags which will be used on allocation.  Also, set the format
> >> and hardware context on the allocated frame automatically - the user
> >> should not be required to do this themselves.
> >> ---
> >>  libavutil/hwcontext.c          | 14 +++++++++++++-
> >>  libavutil/hwcontext.h          |  4 +++-
> >>  libavutil/hwcontext_internal.h |  5 +++++
> >>  3 files changed, 21 insertions(+), 2 deletions(-)
> >>
> >> diff --git a/libavutil/hwcontext.c b/libavutil/hwcontext.c
> >> index 4a47e258a..03cdd4701 100644
> >> --- a/libavutil/hwcontext.c
> >> +++ b/libavutil/hwcontext.c
> >> @@ -459,6 +459,11 @@ int av_hwframe_get_buffer(AVBufferRef *hwframe_ref, 
> >> AVFrame *frame, int flags)
> >>          // and map the frame immediately.
> >>          AVFrame *src_frame;
> >>  
> >> +        frame->format = ctx->format;
> >> +        frame->hw_frames_ctx = av_buffer_ref(hwframe_ref);
> >> +        if (!frame->hw_frames_ctx)
> >> +            return AVERROR(ENOMEM);
> > 
> > Shouldn't this be done in av_hwframe_map() below?
> 
> No?  hw_frames_ctx needs to be set on the destination frame for 
> av_hwframe_map() to work.

Right, I wasn't thinking. Should be ok then.

-- 
Anton Khirnov
_______________________________________________
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to