Deprecate CODEC_FLAG_H263P_SLICE_STRUCTtags/n0.9
| @@ -609,7 +609,9 @@ typedef struct RcOverride{ | |||||
| #define CODEC_FLAG_OBMC 0x00000001 ///< OBMC | #define CODEC_FLAG_OBMC 0x00000001 ///< OBMC | ||||
| #endif | #endif | ||||
| #define CODEC_FLAG_LOOP_FILTER 0x00000800 ///< loop filter | #define CODEC_FLAG_LOOP_FILTER 0x00000800 ///< loop filter | ||||
| #if FF_API_MPEGVIDEO_GLOBAL_OPTS | |||||
| #define CODEC_FLAG_H263P_SLICE_STRUCT 0x10000000 | #define CODEC_FLAG_H263P_SLICE_STRUCT 0x10000000 | ||||
| #endif | |||||
| #define CODEC_FLAG_INTERLACED_ME 0x20000000 ///< interlaced motion estimation | #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_SVCD_SCAN_OFFSET 0x40000000 ///< Will reserve space for SVCD scan offset user data. | ||||
| #define CODEC_FLAG_CLOSED_GOP 0x80000000 | #define CODEC_FLAG_CLOSED_GOP 0x80000000 | ||||
| @@ -612,12 +612,13 @@ av_cold int MPV_encode_init(AVCodecContext *avctx) | |||||
| s->umvplus = 1; | s->umvplus = 1; | ||||
| if (avctx->flags & CODEC_FLAG_H263P_AIV) | if (avctx->flags & CODEC_FLAG_H263P_AIV) | ||||
| s->alt_inter_vlc = 1; | s->alt_inter_vlc = 1; | ||||
| if (avctx->flags & CODEC_FLAG_H263P_SLICE_STRUCT) | |||||
| s->h263_slice_structured = 1; | |||||
| #endif | #endif | ||||
| s->h263_aic= (avctx->flags & CODEC_FLAG_AC_PRED) ? 1:0; | s->h263_aic= (avctx->flags & CODEC_FLAG_AC_PRED) ? 1:0; | ||||
| s->modified_quant= s->h263_aic; | s->modified_quant= s->h263_aic; | ||||
| s->loop_filter= (avctx->flags & CODEC_FLAG_LOOP_FILTER) ? 1:0; | s->loop_filter= (avctx->flags & CODEC_FLAG_LOOP_FILTER) ? 1:0; | ||||
| s->unrestricted_mv= s->obmc || s->loop_filter || s->umvplus; | s->unrestricted_mv= s->obmc || s->loop_filter || s->umvplus; | ||||
| s->h263_slice_structured= (s->flags & CODEC_FLAG_H263P_SLICE_STRUCT) ? 1:0; | |||||
| /* /Fx */ | /* /Fx */ | ||||
| /* These are just to be sure */ | /* 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 | #define VE AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM | ||||
| static const AVOption h263_options[] = { | static const AVOption h263_options[] = { | ||||
| { "obmc", "use overlapped block motion compensation.", OFFSET(obmc), 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 }, | { 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 }, | { "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 }, | { "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 }, | { "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 }, | { NULL }, | ||||
| }; | }; | ||||
| static const AVClass h263p_class = { | 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"}, | {"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 | #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"}, | {"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"}, | {"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"}, | {"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"}, | {"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"}, | {"cgop", "closed gop", 0, FF_OPT_TYPE_CONST, {.dbl = CODEC_FLAG_CLOSED_GOP }, INT_MIN, INT_MAX, V|E, "flags"}, | ||||