mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-21 10:55:51 +02:00
h263/p encoder: add 'structured_slices' private option.
Deprecate CODEC_FLAG_H263P_SLICE_STRUCT
This commit is contained in:
parent
0d904de89d
commit
4bcee8e7f8
@ -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
|
||||
|
@ -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 = {
|
||||
|
@ -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"},
|
||||
|
Loading…
Reference in New Issue
Block a user