| @@ -103,7 +103,6 @@ static int nb_streamid_map = 0; | |||
| static uint16_t *intra_matrix = NULL; | |||
| static uint16_t *inter_matrix = NULL; | |||
| static const char *video_rc_override_string=NULL; | |||
| static int video_discard = 0; | |||
| static int same_quant = 0; | |||
| static int do_deinterlace = 0; | |||
| @@ -325,6 +324,8 @@ typedef struct OptionsContext { | |||
| int nb_force_fps; | |||
| SpecifierOpt *frame_aspect_ratios; | |||
| int nb_frame_aspect_ratios; | |||
| SpecifierOpt *rc_overrides; | |||
| int nb_rc_overrides; | |||
| } OptionsContext; | |||
| #define MATCH_PER_STREAM_OPT(name, type, outvar, fmtctx, st)\ | |||
| @@ -2501,12 +2502,6 @@ static int transcode(OutputFile *output_files, | |||
| return ret; | |||
| } | |||
| static int opt_video_rc_override_string(const char *opt, const char *arg) | |||
| { | |||
| video_rc_override_string = arg; | |||
| return 0; | |||
| } | |||
| static int opt_me_threshold(const char *opt, const char *arg) | |||
| { | |||
| me_threshold = parse_number_or_die(opt, arg, OPT_INT64, INT_MIN, INT_MAX); | |||
| @@ -3037,7 +3032,7 @@ static OutputStream *new_video_stream(OptionsContext *o, AVFormatContext *oc) | |||
| } | |||
| if (!st->stream_copy) { | |||
| const char *p; | |||
| const char *p = NULL; | |||
| char *forced_key_frames = NULL, *frame_rate = NULL, *frame_size = NULL; | |||
| char *frame_aspect_ratio = NULL, *frame_pix_fmt = NULL; | |||
| int i, force_fps = 0; | |||
| @@ -3070,7 +3065,7 @@ static OutputStream *new_video_stream(OptionsContext *o, AVFormatContext *oc) | |||
| if(inter_matrix) | |||
| video_enc->inter_matrix = inter_matrix; | |||
| p= video_rc_override_string; | |||
| MATCH_PER_STREAM_OPT(rc_overrides, str, p, oc, st); | |||
| for(i=0; p; i++){ | |||
| int start, end, q; | |||
| int e=sscanf(p, "%d,%d,%d", &start, &end, &q); | |||
| @@ -3971,7 +3966,7 @@ static const OptionDef options[] = { | |||
| { "pix_fmt", HAS_ARG | OPT_EXPERT | OPT_VIDEO | OPT_STRING | OPT_SPEC, {.off = OFFSET(frame_pix_fmts)}, "set pixel format", "format" }, | |||
| { "vn", OPT_BOOL | OPT_VIDEO | OPT_OFFSET, {.off = OFFSET(video_disable)}, "disable video" }, | |||
| { "vdt", OPT_INT | HAS_ARG | OPT_EXPERT | OPT_VIDEO, {(void*)&video_discard}, "discard threshold", "n" }, | |||
| { "rc_override", HAS_ARG | OPT_EXPERT | OPT_VIDEO, {(void*)opt_video_rc_override_string}, "rate control override for specific intervals", "override" }, | |||
| { "rc_override", HAS_ARG | OPT_EXPERT | OPT_VIDEO | OPT_STRING | OPT_SPEC, {.off = OFFSET(rc_overrides)}, "rate control override for specific intervals", "override" }, | |||
| { "vcodec", HAS_ARG | OPT_VIDEO | OPT_FUNC2, {(void*)opt_video_codec}, "force video codec ('copy' to copy stream)", "codec" }, | |||
| { "me_threshold", HAS_ARG | OPT_EXPERT | OPT_VIDEO, {(void*)opt_me_threshold}, "motion estimation threshold", "threshold" }, | |||
| { "same_quant", OPT_BOOL | OPT_VIDEO, {(void*)&same_quant}, | |||