diff options
author | Anton Khirnov <anton@khirnov.net> | 2011-08-27 10:16:14 +0200 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2011-08-31 13:28:26 +0200 |
commit | 4bcee8e7f826b79206da660cd66ad91e497d7184 (patch) | |
tree | aa0e7967c44466cf8be5f572242d5453be3de8e3 | |
parent | 0d904de89ded7502c7a18a12e27c3e6dff5d1fdf (diff) | |
download | ffmpeg-4bcee8e7f826b79206da660cd66ad91e497d7184.tar.gz |
h263/p encoder: add 'structured_slices' private option.
Deprecate CODEC_FLAG_H263P_SLICE_STRUCT
-rw-r--r-- | libavcodec/avcodec.h | 2 | ||||
-rw-r--r-- | libavcodec/mpegvideo_enc.c | 5 | ||||
-rw-r--r-- | libavcodec/options.c | 2 |
3 files changed, 7 insertions, 2 deletions
diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h index c22c98f590..950e32f238 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 9623bb8265..809ede1d9a 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","Write slice start position at 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", "Write slice start position at every GOB header instead of just GOB number.", OFFSET(h263_slice_structured), FF_OPT_TYPE_INT, { 0 }, 0, 1, VE}, { NULL }, }; static const AVClass h263p_class = { diff --git a/libavcodec/options.c b/libavcodec/options.c index 8ac3d959fe..5035d9f32f 100644 --- a/libavcodec/options.c +++ b/libavcodec/options.c @@ -112,8 +112,8 @@ static const AVOption options[]={ {"qprd", "use rate distortion optimization for qp selection", 0, FF_OPT_TYPE_CONST, {.dbl = CODEC_FLAG_QP_RD }, INT_MIN, INT_MAX, V|E, "flags"}, #if FF_API_MPEGVIDEO_GLOBAL_OPTS {"aiv", "h263 alternative inter vlc", 0, FF_OPT_TYPE_CONST, {.dbl = CODEC_FLAG_H263P_AIV }, INT_MIN, INT_MAX, V|E, "flags"}, -#endif {"slice", NULL, 0, FF_OPT_TYPE_CONST, {.dbl = CODEC_FLAG_H263P_SLICE_STRUCT }, INT_MIN, INT_MAX, V|E, "flags"}, +#endif {"ilme", "interlaced motion estimation", 0, FF_OPT_TYPE_CONST, {.dbl = CODEC_FLAG_INTERLACED_ME }, INT_MIN, INT_MAX, V|E, "flags"}, {"scan_offset", "will reserve space for svcd scan offset user data", 0, FF_OPT_TYPE_CONST, {.dbl = CODEC_FLAG_SVCD_SCAN_OFFSET }, INT_MIN, INT_MAX, V|E, "flags"}, {"cgop", "closed gop", 0, FF_OPT_TYPE_CONST, {.dbl = CODEC_FLAG_CLOSED_GOP }, INT_MIN, INT_MAX, V|E, "flags"}, |