diff options
author | Anton Khirnov <anton@khirnov.net> | 2011-08-13 07:56:38 +0200 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2011-08-16 06:21:32 +0200 |
commit | 86530f418e9f8674f725faed2dcd919c893b5437 (patch) | |
tree | 91120a023c9a1ead614d4e3d0b43ea64619823b3 | |
parent | f233cfed7ba1ed044155c06d4bfacc7f9f10521f (diff) | |
download | ffmpeg-86530f418e9f8674f725faed2dcd919c893b5437.tar.gz |
avconv: cosmetics -- move copy_chapters().
It's only used in opt_output_file(), so move it right above
opt_output_file().
-rw-r--r-- | avconv.c | 80 |
1 files changed, 40 insertions, 40 deletions
@@ -1925,46 +1925,6 @@ static void print_sdp(AVFormatContext **avc, int n) fflush(stdout); } -static int copy_chapters(int infile, int outfile) -{ - AVFormatContext *is = input_files[infile].ctx; - AVFormatContext *os = output_files[outfile]; - int i; - - for (i = 0; i < is->nb_chapters; i++) { - AVChapter *in_ch = is->chapters[i], *out_ch; - int64_t ts_off = av_rescale_q(start_time - input_files[infile].ts_offset, - AV_TIME_BASE_Q, in_ch->time_base); - int64_t rt = (recording_time == INT64_MAX) ? INT64_MAX : - av_rescale_q(recording_time, AV_TIME_BASE_Q, in_ch->time_base); - - - if (in_ch->end < ts_off) - continue; - if (rt != INT64_MAX && in_ch->start > rt + ts_off) - break; - - out_ch = av_mallocz(sizeof(AVChapter)); - if (!out_ch) - return AVERROR(ENOMEM); - - out_ch->id = in_ch->id; - out_ch->time_base = in_ch->time_base; - out_ch->start = FFMAX(0, in_ch->start - ts_off); - out_ch->end = FFMIN(rt, in_ch->end - ts_off); - - if (metadata_chapters_autocopy) - av_dict_copy(&out_ch->metadata, in_ch->metadata, 0); - - os->nb_chapters++; - os->chapters = av_realloc(os->chapters, sizeof(AVChapter)*os->nb_chapters); - if (!os->chapters) - return AVERROR(ENOMEM); - os->chapters[os->nb_chapters - 1] = out_ch; - } - return 0; -} - /* * The following code is the main loop of the file converter */ @@ -3430,6 +3390,46 @@ static int opt_streamid(const char *opt, const char *arg) return 0; } +static int copy_chapters(int infile, int outfile) +{ + AVFormatContext *is = input_files[infile].ctx; + AVFormatContext *os = output_files[outfile]; + int i; + + for (i = 0; i < is->nb_chapters; i++) { + AVChapter *in_ch = is->chapters[i], *out_ch; + int64_t ts_off = av_rescale_q(start_time - input_files[infile].ts_offset, + AV_TIME_BASE_Q, in_ch->time_base); + int64_t rt = (recording_time == INT64_MAX) ? INT64_MAX : + av_rescale_q(recording_time, AV_TIME_BASE_Q, in_ch->time_base); + + + if (in_ch->end < ts_off) + continue; + if (rt != INT64_MAX && in_ch->start > rt + ts_off) + break; + + out_ch = av_mallocz(sizeof(AVChapter)); + if (!out_ch) + return AVERROR(ENOMEM); + + out_ch->id = in_ch->id; + out_ch->time_base = in_ch->time_base; + out_ch->start = FFMAX(0, in_ch->start - ts_off); + out_ch->end = FFMIN(rt, in_ch->end - ts_off); + + if (metadata_chapters_autocopy) + av_dict_copy(&out_ch->metadata, in_ch->metadata, 0); + + os->nb_chapters++; + os->chapters = av_realloc(os->chapters, sizeof(AVChapter)*os->nb_chapters); + if (!os->chapters) + return AVERROR(ENOMEM); + os->chapters[os->nb_chapters - 1] = out_ch; + } + return 0; +} + static void opt_output_file(const char *filename) { AVFormatContext *oc; |