[vlc-devel] [PATCH 1/7] transcode: video: factorize the code to clean the filter chains

Steve Lhomme robux4 at ycbcr.xyz
Mon Aug 17 08:23:33 CEST 2020


On 2020-08-15 10:40, Alexandre Janniaux wrote:
> Hi,
> 
> I have the feeling that this patchset would breaks many
> points in my work and would break draining too. I'm still

It only (re)creates the chain in the case where it was already created.

> unavailable until Monday, can I defer the more in-depth
> review later?

Sure.

> Regards,
> --
> Alexandre Janniaux
> Videolabs
> 
> On Fri, Aug 14, 2020 at 04:00:23PM +0200, Steve Lhomme wrote:
>> ---
>>   modules/stream_out/transcode/video.c | 27 ++++++++++++---------------
>>   1 file changed, 12 insertions(+), 15 deletions(-)
>>
>> diff --git a/modules/stream_out/transcode/video.c b/modules/stream_out/transcode/video.c
>> index ed004363497..f5100184c35 100644
>> --- a/modules/stream_out/transcode/video.c
>> +++ b/modules/stream_out/transcode/video.c
>> @@ -402,6 +402,15 @@ static int transcode_video_filters_init( sout_stream_t *p_stream,
>>       return VLC_SUCCESS;
>>   }
>>
>> +static void transcode_video_filters_clean( sout_stream_id_sys_t *id )
>> +{
>> +    transcode_remove_filters( &id->p_f_chain );
>> +    transcode_remove_filters( &id->p_conv_nonstatic );
>> +    transcode_remove_filters( &id->p_conv_static );
>> +    transcode_remove_filters( &id->p_uf_chain );
>> +    transcode_remove_filters( &id->p_final_conv_static );
>> +}
>> +
>>   void transcode_video_clean( sout_stream_id_sys_t *id )
>>   {
>>       /* Close encoder */
>> @@ -411,11 +420,7 @@ void transcode_video_clean( sout_stream_id_sys_t *id )
>>       es_format_Clean( &id->decoder_out );
>>
>>       /* Close filters */
>> -    transcode_remove_filters( &id->p_f_chain );
>> -    transcode_remove_filters( &id->p_conv_nonstatic );
>> -    transcode_remove_filters( &id->p_conv_static );
>> -    transcode_remove_filters( &id->p_uf_chain );
>> -    transcode_remove_filters( &id->p_final_conv_static );
>> +    transcode_video_filters_clean( id );
>>       if( id->p_spu_blender )
>>           filter_DeleteBlend( id->p_spu_blender );
>>       if( id->p_spu )
>> @@ -555,11 +560,7 @@ int transcode_video_process( sout_stream_t *p_stream, sout_stream_id_sys_t *id,
>>                               id->decoder_out.video.i_sar_den, p_pic->format.i_sar_den
>>                           );
>>                   /* Close filters, encoder format input can't change */
>> -                transcode_remove_filters( &id->p_f_chain );
>> -                transcode_remove_filters( &id->p_conv_nonstatic );
>> -                transcode_remove_filters( &id->p_conv_static );
>> -                transcode_remove_filters( &id->p_uf_chain );
>> -                transcode_remove_filters( &id->p_final_conv_static );
>> +                transcode_video_filters_clean( id );
>>                   if( id->p_spu_blender )
>>                       filter_DeleteBlend( id->p_spu_blender );
>>                   id->p_spu_blender = NULL;
>> @@ -693,11 +694,7 @@ int transcode_video_process( sout_stream_t *p_stream, sout_stream_id_sys_t *id,
>>                   goto error;
>>               transcode_encoder_close( id->encoder );
>>               /* Close filters */
>> -            transcode_remove_filters( &id->p_f_chain );
>> -            transcode_remove_filters( &id->p_conv_nonstatic );
>> -            transcode_remove_filters( &id->p_conv_static );
>> -            transcode_remove_filters( &id->p_uf_chain );
>> -            transcode_remove_filters( &id->p_final_conv_static );
>> +            transcode_video_filters_clean( id );
>>               tag_last_block_with_flag( out, BLOCK_FLAG_END_OF_SEQUENCE );
>>               b_eos = false;
>>           }
>> --
>> 2.26.2
>>
>> _______________________________________________
>> vlc-devel mailing list
>> To unsubscribe or modify your subscription options:
>> https://mailman.videolan.org/listinfo/vlc-devel
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel
> 


More information about the vlc-devel mailing list