diff --git a/Changelog b/Changelog index 49990be7fe..5e38a9b480 100644 --- a/Changelog +++ b/Changelog @@ -17,7 +17,7 @@ version : - native VP8 decoder - RTSP tunneling over HTTP - RTP depacketization of SVQ3 - +- -strict inofficial replaced by -strict unofficial version 0.6: diff --git a/doc/APIchanges b/doc/APIchanges index badb49d5f7..5efcd7b6fe 100644 --- a/doc/APIchanges +++ b/doc/APIchanges @@ -12,6 +12,9 @@ libavutil: 2009-03-08 API changes, most recent first: +2010-06-29 - r23885 - lavc 52.79.0 + Added FF_COMPLIANCE_UNOFFICIAL and changed all instances of FF_COMPLIANCE_INOFFICIAL to use FF_COMPLIANCE_UNOFFICIAL + 2010-06-28 - r23835 - lavfi 1.20.1 - av_parse_color() Extend av_parse_color() syntax, make it accept an alpha value specifier and set the alpha value to 255 by default. diff --git a/ffmpeg.c b/ffmpeg.c index e5d8b260a9..908c384d8c 100644 --- a/ffmpeg.c +++ b/ffmpeg.c @@ -688,7 +688,7 @@ static void choose_pixel_fmt(AVStream *st, AVCodec *codec) } if(*p == -1 && !( st->codec->codec_id==CODEC_ID_MJPEG - && st->codec->strict_std_compliance <= FF_COMPLIANCE_INOFFICIAL + && st->codec->strict_std_compliance <= FF_COMPLIANCE_UNOFFICIAL && ( st->codec->pix_fmt == PIX_FMT_YUV420P || st->codec->pix_fmt == PIX_FMT_YUV422P))) st->codec->pix_fmt = codec->pix_fmts[0]; diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h index 77d8349f20..11ef87b5bb 100644 --- a/libavcodec/avcodec.h +++ b/libavcodec/avcodec.h @@ -30,7 +30,7 @@ #include "libavutil/avutil.h" #define LIBAVCODEC_VERSION_MAJOR 52 -#define LIBAVCODEC_VERSION_MINOR 78 +#define LIBAVCODEC_VERSION_MINOR 79 #define LIBAVCODEC_VERSION_MICRO 1 #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ @@ -1352,10 +1352,10 @@ typedef struct AVCodecContext { * - encoding: Set by user. * - decoding: Set by user. * Setting this to STRICT or higher means the encoder and decoder will - * generally do stupid things, whereas setting it to inofficial or lower + * generally do stupid things, whereas setting it to unofficial or lower * will mean the encoder might produce output that is not supported by all * spec-compliant decoders. Decoders don't differentiate between normal, - * inofficial and experimental (that is, they always try to decode things + * unofficial and experimental (that is, they always try to decode things * when they can) unless they are explicitly asked to behave stupidly * (=strictly conform to the specs) */ @@ -1363,7 +1363,10 @@ typedef struct AVCodecContext { #define FF_COMPLIANCE_VERY_STRICT 2 ///< Strictly conform to an older more strict version of the spec or reference software. #define FF_COMPLIANCE_STRICT 1 ///< Strictly conform to all the things in the spec no matter what consequences. #define FF_COMPLIANCE_NORMAL 0 -#define FF_COMPLIANCE_INOFFICIAL -1 ///< Allow inofficial extensions. +#if LIBAVCODEC_VERSION_MAJOR < 53 +#define FF_COMPLIANCE_INOFFICIAL -1 ///< Allow inofficial extensions (deprecated - use FF_COMPLIANCE_UNOFFICIAL instead). +#endif +#define FF_COMPLIANCE_UNOFFICIAL -1 ///< Allow unofficial extensions #define FF_COMPLIANCE_EXPERIMENTAL -2 ///< Allow nonstandardized experimental things. /** diff --git a/libavcodec/libgsm.c b/libavcodec/libgsm.c index 1062099a7a..a7bc68ad71 100644 --- a/libavcodec/libgsm.c +++ b/libavcodec/libgsm.c @@ -54,7 +54,7 @@ static av_cold int libgsm_init(AVCodecContext *avctx) { if (avctx->sample_rate != 8000) { av_log(avctx, AV_LOG_ERROR, "Sample rate 8000Hz required for GSM, got %dHz\n", avctx->sample_rate); - if(avctx->strict_std_compliance > FF_COMPLIANCE_INOFFICIAL) + if(avctx->strict_std_compliance > FF_COMPLIANCE_UNOFFICIAL) return -1; } if (avctx->bit_rate != 13000 /* Official */ && @@ -62,7 +62,7 @@ static av_cold int libgsm_init(AVCodecContext *avctx) { avctx->bit_rate != 0 /* Unknown; a.o. mov does not set bitrate when decoding */ ) { av_log(avctx, AV_LOG_ERROR, "Bitrate 13000bps required for GSM, got %dbps\n", avctx->bit_rate); - if(avctx->strict_std_compliance > FF_COMPLIANCE_INOFFICIAL) + if(avctx->strict_std_compliance > FF_COMPLIANCE_UNOFFICIAL) return -1; } } diff --git a/libavcodec/mpeg12enc.c b/libavcodec/mpeg12enc.c index bf36129029..6868e2a206 100644 --- a/libavcodec/mpeg12enc.c +++ b/libavcodec/mpeg12enc.c @@ -119,7 +119,7 @@ static int find_frame_rate_index(MpegEncContext *s){ for(i=1;i<14;i++) { int64_t n0= 1001LL/ff_frame_rate_tab[i].den*ff_frame_rate_tab[i].num*s->avctx->time_base.num; int64_t n1= 1001LL*s->avctx->time_base.den; - if(s->avctx->strict_std_compliance > FF_COMPLIANCE_INOFFICIAL && i>=9) break; + if(s->avctx->strict_std_compliance > FF_COMPLIANCE_UNOFFICIAL && i>=9) break; d = FFABS(n0 - n1); if(d < dmin){ diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c index a8616d0ae8..9f8682cae5 100644 --- a/libavcodec/mpegvideo_enc.c +++ b/libavcodec/mpegvideo_enc.c @@ -254,7 +254,7 @@ av_cold int MPV_encode_init(AVCodecContext *avctx) case CODEC_ID_LJPEG: case CODEC_ID_MJPEG: if(avctx->pix_fmt != PIX_FMT_YUVJ420P && avctx->pix_fmt != PIX_FMT_YUVJ422P && avctx->pix_fmt != PIX_FMT_RGB32 && - ((avctx->pix_fmt != PIX_FMT_YUV420P && avctx->pix_fmt != PIX_FMT_YUV422P) || avctx->strict_std_compliance>FF_COMPLIANCE_INOFFICIAL)){ + ((avctx->pix_fmt != PIX_FMT_YUV420P && avctx->pix_fmt != PIX_FMT_YUV422P) || avctx->strict_std_compliance>FF_COMPLIANCE_UNOFFICIAL)){ av_log(avctx, AV_LOG_ERROR, "colorspace not supported in jpeg\n"); return -1; } diff --git a/libavcodec/options.c b/libavcodec/options.c index 5a2c281e4c..b42a841e2e 100644 --- a/libavcodec/options.c +++ b/libavcodec/options.c @@ -160,7 +160,10 @@ static const AVOption options[]={ {"very", "strictly conform to a older more strict version of the spec or reference software", 0, FF_OPT_TYPE_CONST, FF_COMPLIANCE_VERY_STRICT, INT_MIN, INT_MAX, V|D|E, "strict"}, {"strict", "strictly conform to all the things in the spec no matter what consequences", 0, FF_OPT_TYPE_CONST, FF_COMPLIANCE_STRICT, INT_MIN, INT_MAX, V|D|E, "strict"}, {"normal", NULL, 0, FF_OPT_TYPE_CONST, FF_COMPLIANCE_NORMAL, INT_MIN, INT_MAX, V|D|E, "strict"}, -{"inofficial", "allow unofficial extensions", 0, FF_OPT_TYPE_CONST, FF_COMPLIANCE_INOFFICIAL, INT_MIN, INT_MAX, V|D|E, "strict"}, +#if LIBAVCODEC_VERSION_MAJOR < 53 +{"inofficial", "allow unofficial extensions (deprecated - use unofficial)", 0, FF_OPT_TYPE_CONST, FF_COMPLIANCE_UNOFFICIAL, INT_MIN, INT_MAX, V|D|E, "strict"}, +#endif +{"unofficial", "allow unofficial extensions", 0, FF_OPT_TYPE_CONST, FF_COMPLIANCE_UNOFFICIAL, INT_MIN, INT_MAX, V|D|E, "strict"}, {"experimental", "allow non standardized experimental things", 0, FF_OPT_TYPE_CONST, FF_COMPLIANCE_EXPERIMENTAL, INT_MIN, INT_MAX, V|D|E, "strict"}, {"b_qoffset", "qp offset between P and B frames", OFFSET(b_quant_offset), FF_OPT_TYPE_FLOAT, 1.25, -FLT_MAX, FLT_MAX, V|E}, {"er", "set error detection aggressivity", OFFSET(error_recognition), FF_OPT_TYPE_INT, FF_ER_CAREFUL, INT_MIN, INT_MAX, A|V|D, "er"},