|
@@ -1442,6 +1442,7 @@ int sws_frame_setup(SwsContext *ctx, const AVFrame *dst, const AVFrame *src)
|
|
|
for (int field = 0; field < 2; field++) {
|
|
|
SwsFormat src_fmt = ff_fmt_from_frame(src, field);
|
|
|
SwsFormat dst_fmt = ff_fmt_from_frame(dst, field);
|
|
|
+ int src_ok, dst_ok;
|
|
|
|
|
|
if ((src->flags ^ dst->flags) & AV_FRAME_FLAG_INTERLACED) {
|
|
|
err_msg = "Cannot convert interlaced to progressive frames or vice versa.\n";
|
|
@@ -1449,14 +1450,10 @@ int sws_frame_setup(SwsContext *ctx, const AVFrame *dst, const AVFrame *src)
|
|
|
goto fail;
|
|
|
}
|
|
|
|
|
|
- if (!ff_test_fmt(&src_fmt, 0)) {
|
|
|
- err_msg = "Unsupported input";
|
|
|
- ret = AVERROR(ENOTSUP);
|
|
|
- goto fail;
|
|
|
- }
|
|
|
-
|
|
|
- if (!ff_test_fmt(&dst_fmt, 1)) {
|
|
|
- err_msg = "Unsupported output";
|
|
|
+ src_ok = ff_test_fmt(&src_fmt, 0);
|
|
|
+ dst_ok = ff_test_fmt(&dst_fmt, 1);
|
|
|
+ if ((!src_ok || !dst_ok)) {
|
|
|
+ err_msg = src_ok ? "Unsupported output" : "Unsupported input";
|
|
|
ret = AVERROR(ENOTSUP);
|
|
|
goto fail;
|
|
|
}
|