[FFmpeg-devel] [PATCH 1/2] avcodec/options_table: disable CRC checking by default

James Almer jamrial at gmail.com
Sun Oct 27 19:10:47 CET 2013


On 27/10/13 5:51 AM, Michael Niedermayer wrote:
> From: Anton Khirnov <anton at khirnov.net>
> 
> Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
> ---
>  libavcodec/options_table.h |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/libavcodec/options_table.h b/libavcodec/options_table.h
> index a274073..e3b7988 100644
> --- a/libavcodec/options_table.h
> +++ b/libavcodec/options_table.h
> @@ -144,7 +144,7 @@ static const AVOption avcodec_options[] = {
>  {"unofficial", "allow unofficial extensions", 0, AV_OPT_TYPE_CONST, {.i64 = FF_COMPLIANCE_UNOFFICIAL }, INT_MIN, INT_MAX, V|D|E, "strict"},
>  {"experimental", "allow non-standardized experimental things", 0, AV_OPT_TYPE_CONST, {.i64 = FF_COMPLIANCE_EXPERIMENTAL }, INT_MIN, INT_MAX, V|D|E, "strict"},
>  {"b_qoffset", "QP offset between P- and B-frames", OFFSET(b_quant_offset), AV_OPT_TYPE_FLOAT, {.dbl = 1.25 }, -FLT_MAX, FLT_MAX, V|E},
> -{"err_detect", "set error detection flags", OFFSET(err_recognition), AV_OPT_TYPE_FLAGS, {.i64 = AV_EF_CRCCHECK }, INT_MIN, INT_MAX, A|V|D, "err_detect"},
> +{"err_detect", "set error detection flags", OFFSET(err_recognition), AV_OPT_TYPE_FLAGS, {.i64 = 0}, INT_MIN, INT_MAX, A|V|D, "err_detect"},
>  {"crccheck", "verify embedded CRCs", 0, AV_OPT_TYPE_CONST, {.i64 = AV_EF_CRCCHECK }, INT_MIN, INT_MAX, A|V|D, "err_detect"},
>  {"bitstream", "detect bitstream specification deviations", 0, AV_OPT_TYPE_CONST, {.i64 = AV_EF_BITSTREAM }, INT_MIN, INT_MAX, A|V|D, "err_detect"},
>  {"buffer", "detect improper bitstream length", 0, AV_OPT_TYPE_CONST, {.i64 = AV_EF_BUFFER }, INT_MIN, INT_MAX, A|V|D, "err_detect"},
> 

I personally think AV_EF_CRCCHECK should remain the default.
Looking at the patchset Anton submitted to libav list, most of the decoders 
that use this are lossless, where data integrity is the entire point. The 
user should not need to enable a option for that.

I'm ok with AV_EF_EXPLODE being used to decide if a frame should be dropped 
or not in every crc check (We're currently doing that with flac after all).

Regards.


More information about the ffmpeg-devel mailing list