History

avconv: don't pass input/output streams to some functions.

They are globals, no point in pretending they are not.

Anton Khirnov committed 14 years ago

Commit ea9367e1 parent 3892e781 file · +25 −36Browse files

Unified · Split

avconv.c+25−36
@@ -1485,9 +1485,7 @@ static void do_video_stats(AVFormatContext *os, OutputStream *ost, · 1484 unmodified lines
14851485 }
14861486 }
14871487
1488−static void print_report(OutputFile *output_files,
1489− OutputStream *ost_table, int nb_ostreams,
1490− int is_last_report, int64_t timer_start)
1488+static void print_report(int is_last_report, int64_t timer_start)
14911489 {
14921490 char buf[1024];
14931491 OutputStream *ost;
@@ -1525,9 +1523,9 @@ static void print_report(OutputFile *output_files, · 31 unmodified lines
15251523 buf[0] = '\0';
15261524 ti1 = 1e10;
15271525 vid = 0;
1528− for (i = 0; i < nb_ostreams; i++) {
1526+ for (i = 0; i < nb_output_streams; i++) {
15291527 float q = -1;
1530− ost = &ost_table[i];
1528+ ost = &output_streams[i];
15311529 enc = ost->st->codec;
15321530 if (!ost->stream_copy && enc->coded_frame)
15331531 q = enc->coded_frame->quality / (float)FF_QP2LAMBDA;
@@ -1608,12 +1606,12 @@ static void print_report(OutputFile *output_files, · 74 unmodified lines
16081606 }
16091607 }
16101608
1611−static void flush_encoders(OutputStream *ost_table, int nb_ostreams)
1609+static void flush_encoders(void)
16121610 {
16131611 int i, ret;
16141612
1615− for (i = 0; i < nb_ostreams; i++) {
1616− OutputStream *ost = &ost_table[i];
1613+ for (i = 0; i < nb_output_streams; i++) {
1614+ OutputStream *ost = &output_streams[i];
16171615 AVCodecContext *enc = ost->st->codec;
16181616 AVFormatContext *os = output_files[ost->file_index].ctx;
16191617 int stop_encoding = 0;
@@ -2020,9 +2018,7 @@ static int transcode_subtitles(InputStream *ist, AVPacket *pkt, int *got_output) · 400 unmodified lines
20202018 }
20212019
20222020 /* pkt = NULL means EOF (needed to flush decoder buffers) */
2023−static int output_packet(InputStream *ist,
2024− OutputStream *ost_table, int nb_ostreams,
2025− const AVPacket *pkt)
2021+static int output_packet(InputStream *ist, const AVPacket *pkt)
20262022 {
20272023 int i;
20282024 int got_output;
@@ -2116,8 +2112,8 @@ static int output_packet(InputStream *ist, · 87 unmodified lines
21162112 break;
21172113 }
21182114 }
2119− for (i = 0; pkt && i < nb_ostreams; i++) {
2120− OutputStream *ost = &ost_table[i];
2115+ for (i = 0; pkt && i < nb_output_streams; i++) {
2116+ OutputStream *ost = &output_streams[i];
21212117
21222118 if (!check_output_constraints(ist, ost) || ost->encoding_needed)
21232119 continue;
@@ -2128,18 +2124,18 @@ static int output_packet(InputStream *ist, · 4 unmodified lines
21282124 return 0;
21292125 }
21302126
2131−static void print_sdp(OutputFile *output_files, int n)
2127+static void print_sdp(void)
21322128 {
21332129 char sdp[2048];
21342130 int i;
2135− AVFormatContext **avc = av_malloc(sizeof(*avc) * n);
2131+ AVFormatContext **avc = av_malloc(sizeof(*avc) * nb_output_files);
21362132
21372133 if (!avc)
21382134 exit_program(1);
2139− for (i = 0; i < n; i++)
2135+ for (i = 0; i < nb_output_files; i++)
21402136 avc[i] = output_files[i].ctx;
21412137
2142− av_sdp_create(avc, n, sdp, sizeof(sdp));
2138+ av_sdp_create(avc, nb_output_files, sdp, sizeof(sdp));
21432139 printf("SDP:\n%s\n", sdp);
21442140 fflush(stdout);
21452141 av_freep(&avc);
@@ -2190,8 +2186,7 @@ static void get_default_channel_layouts(OutputStream *ost, InputStream *ist) · 44 unmodified lines
21902186 }
21912187
21922188
2193−static int init_input_stream(int ist_index, OutputStream *output_streams, int nb_output_streams,
2194− char *error, int error_len)
2189+static int init_input_stream(int ist_index, char *error, int error_len)
21952190 {
21962191 int i;
21972192 InputStream *ist = &input_streams[ist_index];
@@ -2249,10 +2244,7 @@ static int init_input_stream(int ist_index, OutputStream *output_streams, int nb · 51 unmodified lines
22492244 return 0;
22502245 }
22512246
2252−static int transcode_init(OutputFile *output_files,
2253− int nb_output_files,
2254− InputFile *input_files,
2255− int nb_input_files)
2247+static int transcode_init(void)
22562248 {
22572249 int ret = 0, i, j, k;
22582250 AVFormatContext *oc;
@@ -2544,7 +2536,7 @@ static int transcode_init(OutputFile *output_files, · 285 unmodified lines
25442536
25452537 /* init input streams */
25462538 for (i = 0; i < nb_input_streams; i++)
2547− if ((ret = init_input_stream(i, output_streams, nb_output_streams, error, sizeof(error))) < 0)
2539+ if ((ret = init_input_stream(i, error, sizeof(error))) < 0)
25482540 goto dump_format;
25492541
25502542 /* discard unused programs */
@@ -2620,7 +2612,7 @@ static int transcode_init(OutputFile *output_files, · 69 unmodified lines
26202612 }
26212613
26222614 if (want_sdp) {
2623− print_sdp(output_files, nb_output_files);
2615+ print_sdp();
26242616 }
26252617
26262618 return 0;
@@ -2629,10 +2621,7 @@ static int transcode_init(OutputFile *output_files, · 2 unmodified lines
26292621 /*
26302622 * The following code is the main loop of the file converter
26312623 */
2632−static int transcode(OutputFile *output_files,
2633− int nb_output_files,
2634− InputFile *input_files,
2635− int nb_input_files)
2624+static int transcode(void)
26362625 {
26372626 int ret, i;
26382627 AVFormatContext *is, *os;
@@ -2645,7 +2634,7 @@ static int transcode(OutputFile *output_files, · 6 unmodified lines
26452634 if (!(no_packet = av_mallocz(nb_input_files)))
26462635 exit_program(1);
26472636
2648− ret = transcode_init(output_files, nb_output_files, input_files, nb_input_files);
2637+ ret = transcode_init();
26492638 if (ret < 0)
26502639 goto fail;
26512640
@@ -2770,7 +2759,7 @@ static int transcode(OutputFile *output_files, · 118 unmodified lines
27702759 }
27712760
27722761 // fprintf(stderr,"read #%d.%d size=%d\n", ist->file_index, ist->st->index, pkt.size);
2773− if (output_packet(ist, output_streams, nb_output_streams, &pkt) < 0) {
2762+ if (output_packet(ist, &pkt) < 0) {
27742763
27752764 av_log(NULL, AV_LOG_ERROR, "Error while decoding stream #%d:%d\n",
27762765 ist->file_index, ist->st->index);
@@ -2784,17 +2773,17 @@ static int transcode(OutputFile *output_files, · 7 unmodified lines
27842773 av_free_packet(&pkt);
27852774
27862775 /* dump report by using the output first video and audio streams */
2787− print_report(output_files, output_streams, nb_output_streams, 0, timer_start);
2776+ print_report(0, timer_start);
27882777 }
27892778
27902779 /* at the end of stream, we must flush the decoder buffers */
27912780 for (i = 0; i < nb_input_streams; i++) {
27922781 ist = &input_streams[i];
27932782 if (ist->decoding_needed) {
2794− output_packet(ist, output_streams, nb_output_streams, NULL);
2783+ output_packet(ist, NULL);
27952784 }
27962785 }
2797− flush_encoders(output_streams, nb_output_streams);
2786+ flush_encoders();
27982787
27992788 term_exit();
28002789
@@ -2805,7 +2794,7 @@ static int transcode(OutputFile *output_files, · 4 unmodified lines
28052794 }
28062795
28072796 /* dump report by using the first video and audio streams */
2808− print_report(output_files, output_streams, nb_output_streams, 1, timer_start);
2797+ print_report(1, timer_start);
28092798
28102799 /* close each encoder */
28112800 for (i = 0; i < nb_output_streams; i++) {
@@ -4622,7 +4611,7 @@ int main(int argc, char **argv) · 1810 unmodified lines
46224611 }
46234612
46244613 ti = getutime();
4625− if (transcode(output_files, nb_output_files, input_files, nb_input_files) < 0)
4614+ if (transcode() < 0)
46264615 exit_program(1);
46274616 ti = getutime() - ti;
46284617 if (do_benchmark) {

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t