[vlc-devel] [RFC] [PATCH] avcodec: remove avcodec-fast support
Marvin Scholz
epirat07 at gmail.com
Mon Jun 8 11:20:22 CEST 2020
On 5 Jun 2020, at 16:50, Rémi Denis-Courmont wrote:
> Le perjantaina 5. kesäkuuta 2020, 1.13.10 EEST Marvin Scholz a écrit
> :
>> The avcodec-fast option, if enabled, sets the AV_CODEC_FLAG2_FAST
>> option. Using AV_CODEC_FLAG2_FAST can cause use of unsafe code in
>> avcodec which could lead to crashes.
>> ---
>>
>> It seems a bad idea to haven an option that can enable unsafe code
>
> have*. Could use shorter sentences.
>
> Code LGTM.
>
Thanks. Maybe I messed up but only the part before the --- is the
actual commit message I have locally.
I always get confused where to add the annotations that are for the
mail only…
>> especially with such a option name and description as it does not
>> sound at all like it would enable possibly unsafe behavior that can
>> lead to crashes.
>>
>> Alternatively if we really want to keep it, we probably should
>> adjus the name of the option and description to make it clear
>> what other effects it has, other than improving speed.
>>
>> modules/codec/avcodec/avcodec.c | 2 +-
>> modules/codec/avcodec/avcodec.h | 4 ----
>> modules/codec/avcodec/video.c | 3 ---
>> 3 files changed, 1 insertion(+), 8 deletions(-)
>>
>> diff --git a/modules/codec/avcodec/avcodec.c
>> b/modules/codec/avcodec/avcodec.c index ad2201cb1f..dc2d3d3550 100644
>> --- a/modules/codec/avcodec/avcodec.c
>> +++ b/modules/codec/avcodec/avcodec.c
>> @@ -118,7 +118,7 @@ vlc_module_begin ()
>> add_obsolete_integer( "avcodec-vismv" ) /* removed since 3.0.0
>> */
>> add_obsolete_integer ( "ffmpeg-lowres" ) /* removed since 2.1.0
>> */
>> add_obsolete_bool( "ffmpeg-fast" ) /* removed since 2.1.0 */
>> - add_bool( "avcodec-fast", false, FAST_TEXT, FAST_LONGTEXT, false
>> )
>> + add_obsolete_bool( "avcodec-fast" ) /* removed since 4.0.0 */
>> add_obsolete_integer ( "ffmpeg-skiploopfilter" ) /* removed
>> since 2.1.0
>> */ add_integer ( "avcodec-skiploopfilter", 0, SKIPLOOPF_TEXT,
>> SKIPLOOPF_LONGTEXT, false)
>> diff --git a/modules/codec/avcodec/avcodec.h
>> b/modules/codec/avcodec/avcodec.h index 1df39c613a..184ceb11d7 100644
>> --- a/modules/codec/avcodec/avcodec.h
>> +++ b/modules/codec/avcodec/avcodec.h
>> @@ -84,10 +84,6 @@ int ffmpeg_OpenCodec( decoder_t *p_dec,
>> AVCodecContext *,
>> const AVCodec * ); "when there is not enough time. It's useful with
>> low CPU
>> power " \ "but it can produce distorted pictures.")
>>
>> -#define FAST_TEXT N_("Allow speed tricks")
>> -#define FAST_LONGTEXT N_( \
>> - "Allow non specification compliant speedup tricks. Faster but
>> error-prone.") -
>> #define SKIP_FRAME_TEXT N_("Skip frame (default=0)")
>> #define SKIP_FRAME_LONGTEXT N_( \
>> "Force skipping of frames to speed up decoding " \
>> diff --git a/modules/codec/avcodec/video.c
>> b/modules/codec/avcodec/video.c
>> index c359dffe57..b74d77e0f5 100644
>> --- a/modules/codec/avcodec/video.c
>> +++ b/modules/codec/avcodec/video.c
>> @@ -573,9 +573,6 @@ int InitVideoDec( vlc_object_t *obj )
>> else if( i_val == 1 ) p_context->skip_loop_filter =
>> AVDISCARD_NONREF;
>> else p_context->skip_loop_filter = AVDISCARD_DEFAULT;
>>
>> - if( var_CreateGetBool( p_dec, "avcodec-fast" ) )
>> - p_context->flags2 |= AV_CODEC_FLAG2_FAST;
>> -
>> /* ***** libavcodec frame skipping ***** */
>> p_sys->b_hurry_up = var_CreateGetBool( p_dec, "avcodec-hurry-up"
>> );
>> p_sys->b_show_corrupted = var_CreateGetBool( p_dec,
>> "avcodec-corrupted"
>> );
>
>
> --
> レミ・デニ-クールモン
> http://www.remlab.net/
>
>
>
> _______________________________________________
> 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