|
@@ -1965,29 +1965,6 @@ static int copy_chapters(int infile, int outfile)
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|
|
-static void parse_forced_key_frames(char *kf, OutputStream *ost,
|
|
|
|
- AVCodecContext *avctx)
|
|
|
|
-{
|
|
|
|
- char *p;
|
|
|
|
- int n = 1, i;
|
|
|
|
- int64_t t;
|
|
|
|
-
|
|
|
|
- for (p = kf; *p; p++)
|
|
|
|
- if (*p == ',')
|
|
|
|
- n++;
|
|
|
|
- ost->forced_kf_count = n;
|
|
|
|
- ost->forced_kf_pts = av_malloc(sizeof(*ost->forced_kf_pts) * n);
|
|
|
|
- if (!ost->forced_kf_pts) {
|
|
|
|
- av_log(NULL, AV_LOG_FATAL, "Could not allocate forced key frames array.\n");
|
|
|
|
- exit_program(1);
|
|
|
|
- }
|
|
|
|
- for (i = 0; i < n; i++) {
|
|
|
|
- p = i ? strchr(p, ',') + 1 : kf;
|
|
|
|
- t = parse_time_or_die("force_key_frames", p, 1);
|
|
|
|
- ost->forced_kf_pts[i] = av_rescale_q(t, AV_TIME_BASE_Q, avctx->time_base);
|
|
|
|
- }
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
/*
|
|
/*
|
|
* The following code is the main loop of the file converter
|
|
* The following code is the main loop of the file converter
|
|
*/
|
|
*/
|
|
@@ -3191,6 +3168,29 @@ static int opt_input_file(const char *opt, const char *filename)
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+static void parse_forced_key_frames(char *kf, OutputStream *ost,
|
|
|
|
+ AVCodecContext *avctx)
|
|
|
|
+{
|
|
|
|
+ char *p;
|
|
|
|
+ int n = 1, i;
|
|
|
|
+ int64_t t;
|
|
|
|
+
|
|
|
|
+ for (p = kf; *p; p++)
|
|
|
|
+ if (*p == ',')
|
|
|
|
+ n++;
|
|
|
|
+ ost->forced_kf_count = n;
|
|
|
|
+ ost->forced_kf_pts = av_malloc(sizeof(*ost->forced_kf_pts) * n);
|
|
|
|
+ if (!ost->forced_kf_pts) {
|
|
|
|
+ av_log(NULL, AV_LOG_FATAL, "Could not allocate forced key frames array.\n");
|
|
|
|
+ exit_program(1);
|
|
|
|
+ }
|
|
|
|
+ for (i = 0; i < n; i++) {
|
|
|
|
+ p = i ? strchr(p, ',') + 1 : kf;
|
|
|
|
+ t = parse_time_or_die("force_key_frames", p, 1);
|
|
|
|
+ ost->forced_kf_pts[i] = av_rescale_q(t, AV_TIME_BASE_Q, avctx->time_base);
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+
|
|
static OutputStream *new_video_stream(AVFormatContext *oc, int file_idx)
|
|
static OutputStream *new_video_stream(AVFormatContext *oc, int file_idx)
|
|
{
|
|
{
|
|
AVStream *st;
|
|
AVStream *st;
|