Mercurial > mplayer.hg
comparison libmpcodecs/ve_lavc.c @ 18569:d8605d22bf62
document the recent changes in Snow.
new lavcopts: 'refs', 'vqscale=0'
author | lorenm |
---|---|
date | Mon, 05 Jun 2006 05:34:26 +0000 |
parents | adfadb4a26b5 |
children | c1d5652c1654 |
comparison
equal
deleted
inserted
replaced
18568:80628a6d0980 | 18569:d8605d22bf62 |
---|---|
56 static int lavc_param_vbitrate = -1; | 56 static int lavc_param_vbitrate = -1; |
57 static int lavc_param_vrate_tolerance = 1000*8; | 57 static int lavc_param_vrate_tolerance = 1000*8; |
58 static int lavc_param_mb_decision = 0; /* default is realtime encoding */ | 58 static int lavc_param_mb_decision = 0; /* default is realtime encoding */ |
59 static int lavc_param_v4mv = 0; | 59 static int lavc_param_v4mv = 0; |
60 static int lavc_param_vme = 4; | 60 static int lavc_param_vme = 4; |
61 static float lavc_param_vqscale = 0.0; | 61 static float lavc_param_vqscale = -1; |
62 static int lavc_param_vqmin = 2; | 62 static int lavc_param_vqmin = 2; |
63 static int lavc_param_vqmax = 31; | 63 static int lavc_param_vqmax = 31; |
64 static int lavc_param_mb_qmin = 2; | 64 static int lavc_param_mb_qmin = 2; |
65 static int lavc_param_mb_qmax = 31; | 65 static int lavc_param_mb_qmax = 31; |
66 static float lavc_param_lmin = 2; | 66 static float lavc_param_lmin = 2; |
159 static int lavc_param_brd_scale = 0; | 159 static int lavc_param_brd_scale = 0; |
160 static int lavc_param_bidir_refine = 0; | 160 static int lavc_param_bidir_refine = 0; |
161 static int lavc_param_sc_factor = 1; | 161 static int lavc_param_sc_factor = 1; |
162 static int lavc_param_video_global_header= 0; | 162 static int lavc_param_video_global_header= 0; |
163 static int lavc_param_mv0_threshold = 256; | 163 static int lavc_param_mv0_threshold = 256; |
164 static int lavc_param_refs = 1; | |
164 | 165 |
165 char *lavc_param_acodec = "mp2"; | 166 char *lavc_param_acodec = "mp2"; |
166 int lavc_param_atag = 0; | 167 int lavc_param_atag = 0; |
167 int lavc_param_abitrate = 224; | 168 int lavc_param_abitrate = 224; |
168 int lavc_param_audio_global_header= 0; | 169 int lavc_param_audio_global_header= 0; |
179 {"vratetol", &lavc_param_vrate_tolerance, CONF_TYPE_INT, CONF_RANGE, 4, 24000000, NULL}, | 180 {"vratetol", &lavc_param_vrate_tolerance, CONF_TYPE_INT, CONF_RANGE, 4, 24000000, NULL}, |
180 {"vhq", &lavc_param_mb_decision, CONF_TYPE_FLAG, 0, 0, 1, NULL}, | 181 {"vhq", &lavc_param_mb_decision, CONF_TYPE_FLAG, 0, 0, 1, NULL}, |
181 {"mbd", &lavc_param_mb_decision, CONF_TYPE_INT, CONF_RANGE, 0, 9, NULL}, | 182 {"mbd", &lavc_param_mb_decision, CONF_TYPE_INT, CONF_RANGE, 0, 9, NULL}, |
182 {"v4mv", &lavc_param_v4mv, CONF_TYPE_FLAG, 0, 0, 1, NULL}, | 183 {"v4mv", &lavc_param_v4mv, CONF_TYPE_FLAG, 0, 0, 1, NULL}, |
183 {"vme", &lavc_param_vme, CONF_TYPE_INT, CONF_RANGE, 0, 8, NULL}, | 184 {"vme", &lavc_param_vme, CONF_TYPE_INT, CONF_RANGE, 0, 8, NULL}, |
184 {"vqscale", &lavc_param_vqscale, CONF_TYPE_FLOAT, CONF_RANGE, 0.01, 255.0, NULL}, | 185 {"vqscale", &lavc_param_vqscale, CONF_TYPE_FLOAT, CONF_RANGE, 0.0, 255.0, NULL}, |
185 {"vqmin", &lavc_param_vqmin, CONF_TYPE_INT, CONF_RANGE, 1, 31, NULL}, | 186 {"vqmin", &lavc_param_vqmin, CONF_TYPE_INT, CONF_RANGE, 1, 31, NULL}, |
186 {"vqmax", &lavc_param_vqmax, CONF_TYPE_INT, CONF_RANGE, 1, 31, NULL}, | 187 {"vqmax", &lavc_param_vqmax, CONF_TYPE_INT, CONF_RANGE, 1, 31, NULL}, |
187 {"mbqmin", &lavc_param_mb_qmin, CONF_TYPE_INT, CONF_RANGE, 1, 31, NULL}, | 188 {"mbqmin", &lavc_param_mb_qmin, CONF_TYPE_INT, CONF_RANGE, 1, 31, NULL}, |
188 {"mbqmax", &lavc_param_mb_qmax, CONF_TYPE_INT, CONF_RANGE, 1, 31, NULL}, | 189 {"mbqmax", &lavc_param_mb_qmax, CONF_TYPE_INT, CONF_RANGE, 1, 31, NULL}, |
189 {"lmin", &lavc_param_lmin, CONF_TYPE_FLOAT, CONF_RANGE, 0.01, 255.0, NULL}, | 190 {"lmin", &lavc_param_lmin, CONF_TYPE_FLOAT, CONF_RANGE, 0.01, 255.0, NULL}, |
319 {"bidir_refine", &lavc_param_bidir_refine, CONF_TYPE_INT, CONF_RANGE, 0, 4, NULL}, | 320 {"bidir_refine", &lavc_param_bidir_refine, CONF_TYPE_INT, CONF_RANGE, 0, 4, NULL}, |
320 {"sc_factor", &lavc_param_sc_factor, CONF_TYPE_INT, CONF_RANGE, 1, INT_MAX, NULL}, | 321 {"sc_factor", &lavc_param_sc_factor, CONF_TYPE_INT, CONF_RANGE, 1, INT_MAX, NULL}, |
321 {"vglobal", &lavc_param_video_global_header, CONF_TYPE_INT, CONF_RANGE, 0, INT_MAX, NULL}, | 322 {"vglobal", &lavc_param_video_global_header, CONF_TYPE_INT, CONF_RANGE, 0, INT_MAX, NULL}, |
322 {"aglobal", &lavc_param_audio_global_header, CONF_TYPE_INT, CONF_RANGE, 0, INT_MAX, NULL}, | 323 {"aglobal", &lavc_param_audio_global_header, CONF_TYPE_INT, CONF_RANGE, 0, INT_MAX, NULL}, |
323 {"mv0_threshold", &lavc_param_mv0_threshold, CONF_TYPE_INT, CONF_RANGE, 0, INT_MAX, NULL}, | 324 {"mv0_threshold", &lavc_param_mv0_threshold, CONF_TYPE_INT, CONF_RANGE, 0, INT_MAX, NULL}, |
325 {"refs", &lavc_param_refs, CONF_TYPE_INT, CONF_RANGE, 1, 16, NULL}, | |
324 {NULL, NULL, 0, 0, 0, 0, NULL} | 326 {NULL, NULL, 0, 0, 0, 0, NULL} |
325 }; | 327 }; |
326 #endif | 328 #endif |
327 | 329 |
328 struct vf_priv_s { | 330 struct vf_priv_s { |
650 } | 652 } |
651 if(lavc_param_video_global_header&2){ | 653 if(lavc_param_video_global_header&2){ |
652 lavc_venc_context->flags2 |= CODEC_FLAG2_LOCAL_HEADER; | 654 lavc_venc_context->flags2 |= CODEC_FLAG2_LOCAL_HEADER; |
653 } | 655 } |
654 lavc_venc_context->mv0_threshold = lavc_param_mv0_threshold; | 656 lavc_venc_context->mv0_threshold = lavc_param_mv0_threshold; |
657 lavc_venc_context->refs = lavc_param_refs; | |
655 | 658 |
656 switch(lavc_param_format) | 659 switch(lavc_param_format) |
657 { | 660 { |
658 case IMGFMT_YV12: | 661 case IMGFMT_YV12: |
659 lavc_venc_context->pix_fmt = PIX_FMT_YUV420P; | 662 lavc_venc_context->pix_fmt = PIX_FMT_YUV420P; |
739 } | 742 } |
740 | 743 |
741 lavc_venc_context->me_method = ME_ZERO+lavc_param_vme; | 744 lavc_venc_context->me_method = ME_ZERO+lavc_param_vme; |
742 | 745 |
743 /* fixed qscale :p */ | 746 /* fixed qscale :p */ |
744 if (lavc_param_vqscale) | 747 if (lavc_param_vqscale >= 0.0) |
745 { | 748 { |
746 mp_msg(MSGT_MENCODER, MSGL_INFO, MSGTR_MPCODECS_UsingConstantQscale, lavc_param_vqscale); | 749 mp_msg(MSGT_MENCODER, MSGL_INFO, MSGTR_MPCODECS_UsingConstantQscale, lavc_param_vqscale); |
747 lavc_venc_context->flags |= CODEC_FLAG_QSCALE; | 750 lavc_venc_context->flags |= CODEC_FLAG_QSCALE; |
748 #if LIBAVCODEC_BUILD >= 4668 | 751 #if LIBAVCODEC_BUILD >= 4668 |
749 lavc_venc_context->global_quality= | 752 lavc_venc_context->global_quality= |