On Wed, Aug 31, 2011 at 11:27:08AM +0200, Anton Khirnov wrote:
> Deprecate CODEC_FLAG_H263P_SLICE_STRUCT
> ---
> libavcodec/avcodec.h | 2 ++
> libavcodec/mpegvideo_enc.c | 5 ++++-
> libavcodec/options.c | 2 +-
> 3 files changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
> index c22c98f..950e32f 100644
> --- a/libavcodec/avcodec.h
> +++ b/libavcodec/avcodec.h
> @@ -609,7 +609,9 @@ typedef struct RcOverride{
> #define CODEC_FLAG_OBMC 0x00000001 ///< OBMC
> #endif
> #define CODEC_FLAG_LOOP_FILTER 0x00000800 ///< loop filter
> +#if FF_API_MPEGVIDEO_GLOBAL_OPTS
> #define CODEC_FLAG_H263P_SLICE_STRUCT 0x10000000
> +#endif
> #define CODEC_FLAG_INTERLACED_ME 0x20000000 ///< interlaced motion
> estimation
> #define CODEC_FLAG_SVCD_SCAN_OFFSET 0x40000000 ///< Will reserve space for
> SVCD scan offset user data.
> #define CODEC_FLAG_CLOSED_GOP 0x80000000
> diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c
> index 9623bb8..64a7360 100644
> --- a/libavcodec/mpegvideo_enc.c
> +++ b/libavcodec/mpegvideo_enc.c
> @@ -612,12 +612,13 @@ av_cold int MPV_encode_init(AVCodecContext *avctx)
> s->umvplus = 1;
> if (avctx->flags & CODEC_FLAG_H263P_AIV)
> s->alt_inter_vlc = 1;
> + if (avctx->flags & CODEC_FLAG_H263P_SLICE_STRUCT)
> + s->h263_slice_structured = 1;
> #endif
> s->h263_aic= (avctx->flags & CODEC_FLAG_AC_PRED) ? 1:0;
> s->modified_quant= s->h263_aic;
> s->loop_filter= (avctx->flags & CODEC_FLAG_LOOP_FILTER) ? 1:0;
> s->unrestricted_mv= s->obmc || s->loop_filter || s->umvplus;
> - s->h263_slice_structured= (s->flags & CODEC_FLAG_H263P_SLICE_STRUCT)
> ? 1:0;
>
> /* /Fx */
> /* These are just to be sure */
> @@ -3787,6 +3788,7 @@ int dct_quantize_c(MpegEncContext *s,
> #define VE AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM
> static const AVOption h263_options[] = {
> { "obmc", "use overlapped block motion compensation.",
> OFFSET(obmc), FF_OPT_TYPE_INT, { 0 }, 0, 1, VE },
> + { "structured_slices","Add proper slice header to every GOB header,
> instead of just GOB number", OFFSET(h263_slice_structured), FF_OPT_TYPE_INT,
> { 0 }, 0, 1, VE},
> { NULL },
> };
>
> @@ -3814,6 +3816,7 @@ static const AVOption h263p_options[] = {
> { "umv", "Use unlimited motion vectors.", OFFSET(umvplus),
> FF_OPT_TYPE_INT, { 0 }, 0, 1, VE },
> { "aiv", "Use alternative inter VLC.",
> OFFSET(alt_inter_vlc), FF_OPT_TYPE_INT, { 0 }, 0, 1, VE },
> { "obmc", "use overlapped block motion compensation.",
> OFFSET(obmc), FF_OPT_TYPE_INT, { 0 }, 0, 1, VE },
> + { "structured_slices", "Add proper slice header to every GOB header,
> instead of just GOB number", OFFSET(h263_slice_structured), FF_OPT_TYPE_INT,
> { 0 }, 0, 1, VE},
Write slice start position at every GOB header instead of just GOB number.
(there are other fields there in both cases)
Otherwise OK.
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel