Mercurial > mplayer.hg
annotate libswscale/swscale_avoption.c @ 28766:4725b3ebdba3
Add another hack to work-around the currently completely inconsistent way in
which libavcodec sets AVCodecContext::pix_fmt.
author | reimar |
---|---|
date | Tue, 03 Mar 2009 13:38:33 +0000 |
parents | f5565112d12f |
children |
rev | line source |
---|---|
27213
aa7edc57c75e
100l, avoption splitted code added, I should double check with svn status...
lu_zero
parents:
diff
changeset
|
1 /* |
aa7edc57c75e
100l, avoption splitted code added, I should double check with svn status...
lu_zero
parents:
diff
changeset
|
2 * Copyright (C) 2001-2003 Michael Niedermayer <michaelni@gmx.at> |
aa7edc57c75e
100l, avoption splitted code added, I should double check with svn status...
lu_zero
parents:
diff
changeset
|
3 * |
aa7edc57c75e
100l, avoption splitted code added, I should double check with svn status...
lu_zero
parents:
diff
changeset
|
4 * This file is part of FFmpeg. |
aa7edc57c75e
100l, avoption splitted code added, I should double check with svn status...
lu_zero
parents:
diff
changeset
|
5 * |
aa7edc57c75e
100l, avoption splitted code added, I should double check with svn status...
lu_zero
parents:
diff
changeset
|
6 * FFmpeg is free software; you can redistribute it and/or |
aa7edc57c75e
100l, avoption splitted code added, I should double check with svn status...
lu_zero
parents:
diff
changeset
|
7 * modify it under the terms of the GNU Lesser General Public |
aa7edc57c75e
100l, avoption splitted code added, I should double check with svn status...
lu_zero
parents:
diff
changeset
|
8 * License as published by the Free Software Foundation; either |
aa7edc57c75e
100l, avoption splitted code added, I should double check with svn status...
lu_zero
parents:
diff
changeset
|
9 * version 2.1 of the License, or (at your option) any later version. |
aa7edc57c75e
100l, avoption splitted code added, I should double check with svn status...
lu_zero
parents:
diff
changeset
|
10 * |
aa7edc57c75e
100l, avoption splitted code added, I should double check with svn status...
lu_zero
parents:
diff
changeset
|
11 * FFmpeg is distributed in the hope that it will be useful, |
aa7edc57c75e
100l, avoption splitted code added, I should double check with svn status...
lu_zero
parents:
diff
changeset
|
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
aa7edc57c75e
100l, avoption splitted code added, I should double check with svn status...
lu_zero
parents:
diff
changeset
|
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
aa7edc57c75e
100l, avoption splitted code added, I should double check with svn status...
lu_zero
parents:
diff
changeset
|
14 * Lesser General Public License for more details. |
aa7edc57c75e
100l, avoption splitted code added, I should double check with svn status...
lu_zero
parents:
diff
changeset
|
15 * |
aa7edc57c75e
100l, avoption splitted code added, I should double check with svn status...
lu_zero
parents:
diff
changeset
|
16 * You should have received a copy of the GNU Lesser General Public |
aa7edc57c75e
100l, avoption splitted code added, I should double check with svn status...
lu_zero
parents:
diff
changeset
|
17 * License along with FFmpeg; if not, write to the Free Software |
aa7edc57c75e
100l, avoption splitted code added, I should double check with svn status...
lu_zero
parents:
diff
changeset
|
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
aa7edc57c75e
100l, avoption splitted code added, I should double check with svn status...
lu_zero
parents:
diff
changeset
|
19 */ |
aa7edc57c75e
100l, avoption splitted code added, I should double check with svn status...
lu_zero
parents:
diff
changeset
|
20 |
aa7edc57c75e
100l, avoption splitted code added, I should double check with svn status...
lu_zero
parents:
diff
changeset
|
21 #include "libavutil/avutil.h" |
aa7edc57c75e
100l, avoption splitted code added, I should double check with svn status...
lu_zero
parents:
diff
changeset
|
22 #include "libavcodec/opt.h" |
aa7edc57c75e
100l, avoption splitted code added, I should double check with svn status...
lu_zero
parents:
diff
changeset
|
23 #include "swscale.h" |
aa7edc57c75e
100l, avoption splitted code added, I should double check with svn status...
lu_zero
parents:
diff
changeset
|
24 #include "swscale_internal.h" |
aa7edc57c75e
100l, avoption splitted code added, I should double check with svn status...
lu_zero
parents:
diff
changeset
|
25 |
aa7edc57c75e
100l, avoption splitted code added, I should double check with svn status...
lu_zero
parents:
diff
changeset
|
26 static const char * sws_context_to_name(void * ptr) { |
aa7edc57c75e
100l, avoption splitted code added, I should double check with svn status...
lu_zero
parents:
diff
changeset
|
27 return "swscaler"; |
aa7edc57c75e
100l, avoption splitted code added, I should double check with svn status...
lu_zero
parents:
diff
changeset
|
28 } |
aa7edc57c75e
100l, avoption splitted code added, I should double check with svn status...
lu_zero
parents:
diff
changeset
|
29 |
aa7edc57c75e
100l, avoption splitted code added, I should double check with svn status...
lu_zero
parents:
diff
changeset
|
30 #define OFFSET(x) offsetof(SwsContext, x) |
aa7edc57c75e
100l, avoption splitted code added, I should double check with svn status...
lu_zero
parents:
diff
changeset
|
31 #define DEFAULT 0 |
aa7edc57c75e
100l, avoption splitted code added, I should double check with svn status...
lu_zero
parents:
diff
changeset
|
32 #define VE AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM |
aa7edc57c75e
100l, avoption splitted code added, I should double check with svn status...
lu_zero
parents:
diff
changeset
|
33 |
aa7edc57c75e
100l, avoption splitted code added, I should double check with svn status...
lu_zero
parents:
diff
changeset
|
34 static const AVOption options[] = { |
aa7edc57c75e
100l, avoption splitted code added, I should double check with svn status...
lu_zero
parents:
diff
changeset
|
35 { "sws_flags", "scaler/cpu flags", OFFSET(flags), FF_OPT_TYPE_FLAGS, DEFAULT, 0, UINT_MAX, VE, "sws_flags" }, |
aa7edc57c75e
100l, avoption splitted code added, I should double check with svn status...
lu_zero
parents:
diff
changeset
|
36 { "fast_bilinear", "fast bilinear", 0, FF_OPT_TYPE_CONST, SWS_FAST_BILINEAR, INT_MIN, INT_MAX, VE, "sws_flags" }, |
aa7edc57c75e
100l, avoption splitted code added, I should double check with svn status...
lu_zero
parents:
diff
changeset
|
37 { "bilinear", "bilinear", 0, FF_OPT_TYPE_CONST, SWS_BILINEAR, INT_MIN, INT_MAX, VE, "sws_flags" }, |
aa7edc57c75e
100l, avoption splitted code added, I should double check with svn status...
lu_zero
parents:
diff
changeset
|
38 { "bicubic", "bicubic", 0, FF_OPT_TYPE_CONST, SWS_BICUBIC, INT_MIN, INT_MAX, VE, "sws_flags" }, |
aa7edc57c75e
100l, avoption splitted code added, I should double check with svn status...
lu_zero
parents:
diff
changeset
|
39 { "experimental", "experimental", 0, FF_OPT_TYPE_CONST, SWS_X, INT_MIN, INT_MAX, VE, "sws_flags" }, |
aa7edc57c75e
100l, avoption splitted code added, I should double check with svn status...
lu_zero
parents:
diff
changeset
|
40 { "neighbor", "nearest neighbor", 0, FF_OPT_TYPE_CONST, SWS_POINT, INT_MIN, INT_MAX, VE, "sws_flags" }, |
aa7edc57c75e
100l, avoption splitted code added, I should double check with svn status...
lu_zero
parents:
diff
changeset
|
41 { "area", "averaging area", 0, FF_OPT_TYPE_CONST, SWS_AREA, INT_MIN, INT_MAX, VE, "sws_flags" }, |
aa7edc57c75e
100l, avoption splitted code added, I should double check with svn status...
lu_zero
parents:
diff
changeset
|
42 { "bicublin", "luma bicubic, chroma bilinear", 0, FF_OPT_TYPE_CONST, SWS_BICUBLIN, INT_MIN, INT_MAX, VE, "sws_flags" }, |
aa7edc57c75e
100l, avoption splitted code added, I should double check with svn status...
lu_zero
parents:
diff
changeset
|
43 { "gauss", "gaussian", 0, FF_OPT_TYPE_CONST, SWS_GAUSS, INT_MIN, INT_MAX, VE, "sws_flags" }, |
aa7edc57c75e
100l, avoption splitted code added, I should double check with svn status...
lu_zero
parents:
diff
changeset
|
44 { "sinc", "sinc", 0, FF_OPT_TYPE_CONST, SWS_SINC, INT_MIN, INT_MAX, VE, "sws_flags" }, |
aa7edc57c75e
100l, avoption splitted code added, I should double check with svn status...
lu_zero
parents:
diff
changeset
|
45 { "lanczos", "lanczos", 0, FF_OPT_TYPE_CONST, SWS_LANCZOS, INT_MIN, INT_MAX, VE, "sws_flags" }, |
aa7edc57c75e
100l, avoption splitted code added, I should double check with svn status...
lu_zero
parents:
diff
changeset
|
46 { "spline", "natural bicubic spline", 0, FF_OPT_TYPE_CONST, SWS_SPLINE, INT_MIN, INT_MAX, VE, "sws_flags" }, |
aa7edc57c75e
100l, avoption splitted code added, I should double check with svn status...
lu_zero
parents:
diff
changeset
|
47 { "print_info", "print info", 0, FF_OPT_TYPE_CONST, SWS_PRINT_INFO, INT_MIN, INT_MAX, VE, "sws_flags" }, |
aa7edc57c75e
100l, avoption splitted code added, I should double check with svn status...
lu_zero
parents:
diff
changeset
|
48 { "accurate_rnd", "accurate rounding", 0, FF_OPT_TYPE_CONST, SWS_ACCURATE_RND, INT_MIN, INT_MAX, VE, "sws_flags" }, |
aa7edc57c75e
100l, avoption splitted code added, I should double check with svn status...
lu_zero
parents:
diff
changeset
|
49 { "mmx", "MMX SIMD acceleration", 0, FF_OPT_TYPE_CONST, SWS_CPU_CAPS_MMX, INT_MIN, INT_MAX, VE, "sws_flags" }, |
aa7edc57c75e
100l, avoption splitted code added, I should double check with svn status...
lu_zero
parents:
diff
changeset
|
50 { "mmx2", "MMX2 SIMD acceleration", 0, FF_OPT_TYPE_CONST, SWS_CPU_CAPS_MMX2, INT_MIN, INT_MAX, VE, "sws_flags" }, |
aa7edc57c75e
100l, avoption splitted code added, I should double check with svn status...
lu_zero
parents:
diff
changeset
|
51 { "3dnow", "3DNOW SIMD acceleration", 0, FF_OPT_TYPE_CONST, SWS_CPU_CAPS_3DNOW, INT_MIN, INT_MAX, VE, "sws_flags" }, |
aa7edc57c75e
100l, avoption splitted code added, I should double check with svn status...
lu_zero
parents:
diff
changeset
|
52 { "altivec", "AltiVec SIMD acceleration", 0, FF_OPT_TYPE_CONST, SWS_CPU_CAPS_ALTIVEC, INT_MIN, INT_MAX, VE, "sws_flags" }, |
aa7edc57c75e
100l, avoption splitted code added, I should double check with svn status...
lu_zero
parents:
diff
changeset
|
53 { "bfin", "Blackfin SIMD acceleration", 0, FF_OPT_TYPE_CONST, SWS_CPU_CAPS_BFIN, INT_MIN, INT_MAX, VE, "sws_flags" }, |
aa7edc57c75e
100l, avoption splitted code added, I should double check with svn status...
lu_zero
parents:
diff
changeset
|
54 { "full_chroma_int", "full chroma interpolation", 0 , FF_OPT_TYPE_CONST, SWS_FULL_CHR_H_INT, INT_MIN, INT_MAX, VE, "sws_flags" }, |
aa7edc57c75e
100l, avoption splitted code added, I should double check with svn status...
lu_zero
parents:
diff
changeset
|
55 { "full_chroma_inp", "full chroma input", 0 , FF_OPT_TYPE_CONST, SWS_FULL_CHR_H_INP, INT_MIN, INT_MAX, VE, "sws_flags" }, |
27560 | 56 { "bitexact", "", 0 , FF_OPT_TYPE_CONST, SWS_BITEXACT, INT_MIN, INT_MAX, VE, "sws_flags" }, |
27213
aa7edc57c75e
100l, avoption splitted code added, I should double check with svn status...
lu_zero
parents:
diff
changeset
|
57 { NULL } |
aa7edc57c75e
100l, avoption splitted code added, I should double check with svn status...
lu_zero
parents:
diff
changeset
|
58 }; |
aa7edc57c75e
100l, avoption splitted code added, I should double check with svn status...
lu_zero
parents:
diff
changeset
|
59 |
aa7edc57c75e
100l, avoption splitted code added, I should double check with svn status...
lu_zero
parents:
diff
changeset
|
60 const AVClass sws_context_class = { "SWScaler", sws_context_to_name, options }; |