h263p encoder: add 'aiv' private option.
Deprecate CODEC_FLAG_H263P_AIV
This commit is contained in:
parent
9bb2d1a3f0
commit
e3922d1110
@ -604,7 +604,9 @@ typedef struct RcOverride{
|
|||||||
#endif
|
#endif
|
||||||
#define CODEC_FLAG_CBP_RD 0x04000000 ///< Use rate distortion optimization for cbp.
|
#define CODEC_FLAG_CBP_RD 0x04000000 ///< Use rate distortion optimization for cbp.
|
||||||
#define CODEC_FLAG_QP_RD 0x08000000 ///< Use rate distortion optimization for qp selectioon.
|
#define CODEC_FLAG_QP_RD 0x08000000 ///< Use rate distortion optimization for qp selectioon.
|
||||||
|
#if FF_API_MPEGVIDEO_GLOBAL_OPTS
|
||||||
#define CODEC_FLAG_H263P_AIV 0x00000008 ///< H.263 alternative inter VLC
|
#define CODEC_FLAG_H263P_AIV 0x00000008 ///< H.263 alternative inter VLC
|
||||||
|
#endif
|
||||||
#define CODEC_FLAG_OBMC 0x00000001 ///< OBMC
|
#define CODEC_FLAG_OBMC 0x00000001 ///< OBMC
|
||||||
#define CODEC_FLAG_LOOP_FILTER 0x00000800 ///< loop filter
|
#define CODEC_FLAG_LOOP_FILTER 0x00000800 ///< loop filter
|
||||||
#define CODEC_FLAG_H263P_SLICE_STRUCT 0x10000000
|
#define CODEC_FLAG_H263P_SLICE_STRUCT 0x10000000
|
||||||
|
@ -609,10 +609,11 @@ av_cold int MPV_encode_init(AVCodecContext *avctx)
|
|||||||
#if FF_API_MPEGVIDEO_GLOBAL_OPTS
|
#if FF_API_MPEGVIDEO_GLOBAL_OPTS
|
||||||
if (avctx->flags & CODEC_FLAG_H263P_UMV)
|
if (avctx->flags & CODEC_FLAG_H263P_UMV)
|
||||||
s->umvplus = 1;
|
s->umvplus = 1;
|
||||||
|
if (avctx->flags & CODEC_FLAG_H263P_AIV)
|
||||||
|
s->alt_inter_vlc = 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->alt_inter_vlc= (avctx->flags & CODEC_FLAG_H263P_AIV) ? 1:0;
|
|
||||||
s->obmc= (avctx->flags & CODEC_FLAG_OBMC) ? 1:0;
|
s->obmc= (avctx->flags & CODEC_FLAG_OBMC) ? 1:0;
|
||||||
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;
|
||||||
@ -3798,6 +3799,7 @@ AVCodec ff_h263_encoder = {
|
|||||||
#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 options[] = {
|
static const AVOption 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 },
|
||||||
{ NULL },
|
{ NULL },
|
||||||
};
|
};
|
||||||
static const AVClass h263p_class = {
|
static const AVClass h263p_class = {
|
||||||
|
@ -108,7 +108,9 @@ static const AVOption options[]={
|
|||||||
#endif
|
#endif
|
||||||
{"cbp", "use rate distortion optimization for cbp", 0, FF_OPT_TYPE_CONST, {.dbl = CODEC_FLAG_CBP_RD }, INT_MIN, INT_MAX, V|E, "flags"},
|
{"cbp", "use rate distortion optimization for cbp", 0, FF_OPT_TYPE_CONST, {.dbl = CODEC_FLAG_CBP_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"},
|
{"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"},
|
{"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"},
|
||||||
{"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"},
|
||||||
|
Loading…
x
Reference in New Issue
Block a user