Thanks !

On Wed, Oct 30, 2024, at 14:34, Zhao Zhili wrote:
>> On Oct 30, 2024, at 21:19, Thomas Guillem via ffmpeg-devel 
>> <ffmpeg-devel@ffmpeg.org> wrote:
>> 
>> Happy monthly anniversary to my not very interesting patch.
>> 
>> FYI, OpenSuse applied it for their ffmpeg build...
>
> LGTM and applied, thanks.
>
>> 
>> On Mon, Oct 14, 2024, at 10:54, Thomas Guillem via ffmpeg-devel wrote:
>>> Ping. 
>>> 
>>> On Mon, Oct 7, 2024, at 17:43, Thomas Guillem via ffmpeg-devel wrote:
>>>> Fixes the following assert:
>>>> 
>>>> [00007f1df83d17e0] vaapi generic error: 
>>>> avcodec_get_hw_frames_parameters failed: -22
>>>> Assertion p_dst->hwaccel_threadsafe || (!dst->hwaccel && 
>>>> !dst->internal->hwaccel_priv_data) failed at 
>>>> libavcodec/pthread_frame.c:349
>>>> 
>>>> Reproduced from VLC with VAAPI, when fallbacking from hw to sw.
>>>> ---
>>>> libavcodec/decode.c | 5 +++++
>>>> 1 file changed, 5 insertions(+)
>>>> 
>>>> diff --git a/libavcodec/decode.c b/libavcodec/decode.c
>>>> index c331bb8596..3380cb27cf 100644
>>>> --- a/libavcodec/decode.c
>>>> +++ b/libavcodec/decode.c
>>>> @@ -19,6 +19,7 @@
>>>>  */
>>>> 
>>>> #include <stdint.h>
>>>> +#include <stdbool.h>
>>>> #include <string.h>
>>>> 
>>>> #include "config.h"
>>>> @@ -1173,6 +1174,7 @@ int 
>>>> avcodec_get_hw_frames_parameters(AVCodecContext *avctx,
>>>>     const AVCodecHWConfigInternal *hw_config;
>>>>     const FFHWAccel *hwa;
>>>>     int i, ret;
>>>> +    bool clean_priv_data = false;
>>>> 
>>>>     for (i = 0;; i++) {
>>>>         hw_config = ffcodec(avctx->codec)->hw_configs[i];
>>>> @@ -1197,6 +1199,7 @@ int 
>>>> avcodec_get_hw_frames_parameters(AVCodecContext *avctx,
>>>>             av_buffer_unref(&frames_ref);
>>>>             return AVERROR(ENOMEM);
>>>>         }
>>>> +        clean_priv_data = true;
>>>>     }
>>>> 
>>>>     ret = hwa->frame_params(avctx, frames_ref);
>>>> @@ -1217,6 +1220,8 @@ int 
>>>> avcodec_get_hw_frames_parameters(AVCodecContext *avctx,
>>>> 
>>>>         *out_frames_ref = frames_ref;
>>>>     } else {
>>>> +        if (clean_priv_data)
>>>> +            av_freep(&avctx->internal->hwaccel_priv_data);
>>>>         av_buffer_unref(&frames_ref);
>>>>     }
>>>>     return ret;
>>>> -- 
>>>> 2.45.2
>>>> 
>>>> _______________________________________________
>>>> 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".
>>> _______________________________________________
>>> 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".
>> _______________________________________________
>> 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".
>
> _______________________________________________
> 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".
_______________________________________________
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