Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(174)

Side by Side Diff: source/patched-ffmpeg-mt/libavfilter/avfilter.c

Issue 4533003: patched ffmpeg nov 2 (Closed) Base URL: svn://chrome-svn/chrome/trunk/deps/third_party/ffmpeg/
Patch Set: '' Created 10 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * filter layer 2 * filter layer
3 * copyright (c) 2007 Bobby Bingham 3 * copyright (c) 2007 Bobby Bingham
4 * 4 *
5 * This file is part of FFmpeg. 5 * This file is part of FFmpeg.
6 * 6 *
7 * FFmpeg is free software; you can redistribute it and/or 7 * FFmpeg is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public 8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either 9 * License as published by the Free Software Foundation; either
10 * version 2.1 of the License, or (at your option) any later version. 10 * version 2.1 of the License, or (at your option) any later version.
11 * 11 *
12 * FFmpeg is distributed in the hope that it will be useful, 12 * FFmpeg is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details. 15 * Lesser General Public License for more details.
16 * 16 *
17 * You should have received a copy of the GNU Lesser General Public 17 * You should have received a copy of the GNU Lesser General Public
18 * License along with FFmpeg; if not, write to the Free Software 18 * License along with FFmpeg; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20 */ 20 */
21 21
22 /* #define DEBUG */ 22 /* #define DEBUG */
23 23
24 #include "libavcodec/audioconvert.c" 24 #include "libavcodec/audioconvert.c"
25 #include "libavutil/pixdesc.h" 25 #include "libavutil/pixdesc.h"
26 #include "libavutil/rational.h"
26 #include "libavcore/imgutils.h" 27 #include "libavcore/imgutils.h"
27 #include "avfilter.h" 28 #include "avfilter.h"
28 #include "internal.h" 29 #include "internal.h"
29 30
30 unsigned avfilter_version(void) { 31 unsigned avfilter_version(void) {
31 return LIBAVFILTER_VERSION_INT; 32 return LIBAVFILTER_VERSION_INT;
32 } 33 }
33 34
34 const char *avfilter_configuration(void) 35 const char *avfilter_configuration(void)
35 { 36 {
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
149 avfilter_formats_changeref(&link->out_formats, 150 avfilter_formats_changeref(&link->out_formats,
150 &filt->outputs[filt_dstpad_idx]->out_formats) ; 151 &filt->outputs[filt_dstpad_idx]->out_formats) ;
151 152
152 return 0; 153 return 0;
153 } 154 }
154 155
155 int avfilter_config_links(AVFilterContext *filter) 156 int avfilter_config_links(AVFilterContext *filter)
156 { 157 {
157 int (*config_link)(AVFilterLink *); 158 int (*config_link)(AVFilterLink *);
158 unsigned i; 159 unsigned i;
160 int ret;
159 161
160 for (i = 0; i < filter->input_count; i ++) { 162 for (i = 0; i < filter->input_count; i ++) {
161 AVFilterLink *link = filter->inputs[i]; 163 AVFilterLink *link = filter->inputs[i];
162 164
163 if (!link) continue; 165 if (!link) continue;
164 166
165 switch (link->init_state) { 167 switch (link->init_state) {
166 case AVLINK_INIT: 168 case AVLINK_INIT:
167 continue; 169 continue;
168 case AVLINK_STARTINIT: 170 case AVLINK_STARTINIT:
169 av_log(filter, AV_LOG_INFO, "circular filter chain detected\n"); 171 av_log(filter, AV_LOG_INFO, "circular filter chain detected\n");
170 return 0; 172 return 0;
171 case AVLINK_UNINIT: 173 case AVLINK_UNINIT:
172 link->init_state = AVLINK_STARTINIT; 174 link->init_state = AVLINK_STARTINIT;
173 175
174 if (avfilter_config_links(link->src)) 176 if ((ret = avfilter_config_links(link->src)) < 0)
175 return -1; 177 return ret;
176 178
177 if (!(config_link = link->srcpad->config_props)) 179 if (!(config_link = link->srcpad->config_props))
178 config_link = avfilter_default_config_output_link; 180 config_link = avfilter_default_config_output_link;
179 if (config_link(link)) 181 if ((ret = config_link(link)) < 0)
180 return -1; 182 return ret;
183
184 if (link->time_base.num == 0 && link->time_base.den == 0)
185 link->time_base = link->src && link->src->input_count ?
186 link->src->inputs[0]->time_base : AV_TIME_BASE_Q;
181 187
182 if ((config_link = link->dstpad->config_props)) 188 if ((config_link = link->dstpad->config_props))
183 if (config_link(link)) 189 if ((ret = config_link(link)) < 0)
184 return -1; 190 return ret;
185 191
186 link->init_state = AVLINK_INIT; 192 link->init_state = AVLINK_INIT;
187 } 193 }
188 } 194 }
189 195
190 return 0; 196 return 0;
191 } 197 }
192 198
193 char *ff_get_ref_perms_string(char *buf, size_t buf_size, int perms) 199 char *ff_get_ref_perms_string(char *buf, size_t buf_size, int perms)
194 { 200 {
(...skipping 365 matching lines...) Expand 10 before | Expand all | Expand 10 after
560 566
561 int avfilter_init_filter(AVFilterContext *filter, const char *args, void *opaque ) 567 int avfilter_init_filter(AVFilterContext *filter, const char *args, void *opaque )
562 { 568 {
563 int ret=0; 569 int ret=0;
564 570
565 if (filter->filter->init) 571 if (filter->filter->init)
566 ret = filter->filter->init(filter, args, opaque); 572 ret = filter->filter->init(filter, args, opaque);
567 return ret; 573 return ret;
568 } 574 }
569 575
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698