mirror of
https://gitee.com/openharmony/third_party_ffmpeg
synced 2024-11-27 21:20:41 +00:00
avconv: move force_fps to the options context.
This commit is contained in:
parent
7c0296723c
commit
bef737a78a
13
avconv.c
13
avconv.c
@ -148,7 +148,6 @@ static int64_t extra_size = 0;
|
||||
static int nb_frames_dup = 0;
|
||||
static int nb_frames_drop = 0;
|
||||
static int input_sync;
|
||||
static int force_fps = 0;
|
||||
|
||||
static float dts_delta_threshold = 10;
|
||||
|
||||
@ -213,6 +212,7 @@ typedef struct OutputStream {
|
||||
int resample_width;
|
||||
int resample_pix_fmt;
|
||||
AVRational frame_rate;
|
||||
int force_fps;
|
||||
|
||||
float frame_aspect_ratio;
|
||||
|
||||
@ -320,6 +320,8 @@ typedef struct OptionsContext {
|
||||
int nb_qscale;
|
||||
SpecifierOpt *forced_key_frames;
|
||||
int nb_forced_key_frames;
|
||||
SpecifierOpt *force_fps;
|
||||
int nb_force_fps;
|
||||
} OptionsContext;
|
||||
|
||||
#define MATCH_PER_STREAM_OPT(name, type, outvar, fmtctx, st)\
|
||||
@ -2086,7 +2088,7 @@ static int transcode_init(OutputFile *output_files,
|
||||
|
||||
if (!ost->frame_rate.num)
|
||||
ost->frame_rate = ist->st->r_frame_rate.num ? ist->st->r_frame_rate : (AVRational){25,1};
|
||||
if (ost->enc && ost->enc->supported_framerates && !force_fps) {
|
||||
if (ost->enc && ost->enc->supported_framerates && !ost->force_fps) {
|
||||
int idx = av_find_nearest_q_idx(ost->frame_rate, ost->enc->supported_framerates);
|
||||
ost->frame_rate = ost->enc->supported_framerates[idx];
|
||||
}
|
||||
@ -3080,7 +3082,7 @@ static OutputStream *new_video_stream(OptionsContext *o, AVFormatContext *oc)
|
||||
} else {
|
||||
const char *p;
|
||||
char *forced_key_frames = NULL;
|
||||
int i;
|
||||
int i, force_fps = 0;
|
||||
|
||||
if (frame_rate.num)
|
||||
ost->frame_rate = frame_rate;
|
||||
@ -3140,6 +3142,9 @@ static OutputStream *new_video_stream(OptionsContext *o, AVFormatContext *oc)
|
||||
MATCH_PER_STREAM_OPT(forced_key_frames, str, forced_key_frames, oc, st);
|
||||
if (forced_key_frames)
|
||||
parse_forced_key_frames(forced_key_frames, ost, video_enc);
|
||||
|
||||
MATCH_PER_STREAM_OPT(force_fps, i, force_fps, oc, st);
|
||||
ost->force_fps = force_fps;
|
||||
}
|
||||
|
||||
/* reset some key parameters */
|
||||
@ -4029,7 +4034,7 @@ static const OptionDef options[] = {
|
||||
{ "dc", OPT_INT | HAS_ARG | OPT_EXPERT | OPT_VIDEO, {(void*)&intra_dc_precision}, "intra_dc_precision", "precision" },
|
||||
{ "vtag", HAS_ARG | OPT_EXPERT | OPT_VIDEO | OPT_FUNC2, {(void*)opt_video_tag}, "force video tag/fourcc", "fourcc/tag" },
|
||||
{ "qphist", OPT_BOOL | OPT_EXPERT | OPT_VIDEO, { (void *)&qp_hist }, "show QP histogram" },
|
||||
{ "force_fps", OPT_BOOL | OPT_EXPERT | OPT_VIDEO, {(void*)&force_fps}, "force the selected framerate, disable the best supported framerate selection" },
|
||||
{ "force_fps", OPT_BOOL | OPT_EXPERT | OPT_VIDEO | OPT_SPEC, {.off = OFFSET(force_fps)}, "force the selected framerate, disable the best supported framerate selection" },
|
||||
{ "streamid", HAS_ARG | OPT_EXPERT, {(void*)opt_streamid}, "set the value of an outfile streamid", "streamIndex:value" },
|
||||
{ "force_key_frames", OPT_STRING | HAS_ARG | OPT_EXPERT | OPT_VIDEO | OPT_SPEC, {.off = OFFSET(forced_key_frames)}, "force key frames at specified timestamps", "timestamps" },
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user