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
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to