# HG changeset patch # User michaelni # Date 1046880613 0 # Node ID c7604e6291c50c0b5489114ebdf6a51593cc0f66 # Parent 0ed00edd4d74d9511b2034b55805faf00ad5562d extended option for h263+ patch by (fixounet at free dot fr) with some minor modifications diff -r 0ed00edd4d74 -r c7604e6291c5 avcodec.h --- a/avcodec.h Tue Mar 04 13:05:14 2003 +0000 +++ b/avcodec.h Wed Mar 05 16:10:13 2003 +0000 @@ -160,7 +160,19 @@ #define CODEC_FLAG_TRELLIS_QUANT 0x00200000 /* use trellis quantization */ #define CODEC_FLAG_GLOBAL_HEADER 0x00400000 /* place global headers in extradata instead of every keyframe */ #define CODEC_FLAG_BITEXACT 0x00800000 /* use only bitexact stuff (except (i)dct) */ - +/* Fx : Flag for h263+ extra options */ +#define CODEC_FLAG_H263P_AIC 0x01000000 /* Advanced intra coding */ +#define CODEC_FLAG_H263P_UMV 0x02000000 /* Unlimited motion vector */ +/* For advanced prediction mode, we reuse the 4MV flag */ +/* Unsupported options : + * Syntax Arithmetic coding (SAC) + * Deblocking filter internal loop + * Slice structured + * Reference Picture Selection + * Independant Segment Decoding + * Alternative Inter * VLC + * Modified Quantization */ +/* /Fx */ /* codec capabilities */ #define CODEC_CAP_DRAW_HORIZ_BAND 0x0001 /* decoder can use draw_horiz_band callback */ diff -r 0ed00edd4d74 -r c7604e6291c5 mpegvideo.c --- a/mpegvideo.c Tue Mar 04 13:05:14 2003 +0000 +++ b/mpegvideo.c Wed Mar 05 16:10:13 2003 +0000 @@ -581,9 +581,10 @@ case CODEC_ID_H263P: s->out_format = FMT_H263; s->h263_plus = 1; - s->unrestricted_mv = 1; - s->h263_aic = 1; - + /* Fx */ + s->unrestricted_mv=(avctx->flags & CODEC_FLAG_H263P_UMV) ? 1:0; + s->h263_aic= (avctx->flags & CODEC_FLAG_H263P_AIC) ? 1:0; + /* /Fx */ /* These are just to be sure */ s->umvplus = 1; avctx->delay=0;