Signed-off-by: Paul B Mahol <onemda@gmail.com>
Paul B Mahol authored on 2016/11/29 22:49:01... | ... |
@@ -86,6 +86,19 @@ static int query_formats(AVFilterContext *ctx) |
86 | 86 |
AV_PIX_FMT_RGBA64LE, AV_PIX_FMT_BGRA64LE, |
87 | 87 |
AV_PIX_FMT_GBRP, AV_PIX_FMT_GBRAP, |
88 | 88 |
AV_PIX_FMT_GBRP16LE, AV_PIX_FMT_GBRAP16LE, |
89 |
+ AV_PIX_FMT_YUV420P10LE, |
|
90 |
+ AV_PIX_FMT_YUV422P10LE, |
|
91 |
+ AV_PIX_FMT_YUV444P10LE, |
|
92 |
+ AV_PIX_FMT_YUV440P10LE, |
|
93 |
+ AV_PIX_FMT_YUVA420P10LE, |
|
94 |
+ AV_PIX_FMT_YUVA422P10LE, |
|
95 |
+ AV_PIX_FMT_YUVA444P10LE, |
|
96 |
+ AV_PIX_FMT_YUV420P12LE, |
|
97 |
+ AV_PIX_FMT_YUV422P12LE, |
|
98 |
+ AV_PIX_FMT_YUV444P12LE, |
|
99 |
+ AV_PIX_FMT_YUV440P12LE, |
|
100 |
+ AV_PIX_FMT_GBRP10LE, AV_PIX_FMT_GBRAP10LE, |
|
101 |
+ AV_PIX_FMT_GBRP12LE, AV_PIX_FMT_GBRAP12LE, |
|
89 | 102 |
AV_PIX_FMT_NONE, |
90 | 103 |
}; |
91 | 104 |
static const enum AVPixelFormat in_pixfmts_be[] = { |
... | ... |
@@ -112,9 +125,26 @@ static int query_formats(AVFilterContext *ctx) |
112 | 112 |
AV_PIX_FMT_RGBA64BE, AV_PIX_FMT_BGRA64BE, |
113 | 113 |
AV_PIX_FMT_GBRP, AV_PIX_FMT_GBRAP, |
114 | 114 |
AV_PIX_FMT_GBRP16BE, AV_PIX_FMT_GBRAP16BE, |
115 |
+ AV_PIX_FMT_YUV420P10BE, |
|
116 |
+ AV_PIX_FMT_YUV422P10BE, |
|
117 |
+ AV_PIX_FMT_YUV444P10BE, |
|
118 |
+ AV_PIX_FMT_YUV440P10BE, |
|
119 |
+ AV_PIX_FMT_YUVA420P10BE, |
|
120 |
+ AV_PIX_FMT_YUVA422P10BE, |
|
121 |
+ AV_PIX_FMT_YUVA444P10BE, |
|
122 |
+ AV_PIX_FMT_YUV420P12BE, |
|
123 |
+ AV_PIX_FMT_YUV422P12BE, |
|
124 |
+ AV_PIX_FMT_YUV444P12BE, |
|
125 |
+ AV_PIX_FMT_YUV440P12BE, |
|
126 |
+ AV_PIX_FMT_GBRP10BE, AV_PIX_FMT_GBRAP10BE, |
|
127 |
+ AV_PIX_FMT_GBRP12BE, AV_PIX_FMT_GBRAP12BE, |
|
115 | 128 |
AV_PIX_FMT_NONE, |
116 | 129 |
}; |
117 | 130 |
static const enum AVPixelFormat out8_pixfmts[] = { AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE }; |
131 |
+ static const enum AVPixelFormat out10le_pixfmts[] = { AV_PIX_FMT_GRAY10LE, AV_PIX_FMT_NONE }; |
|
132 |
+ static const enum AVPixelFormat out10be_pixfmts[] = { AV_PIX_FMT_GRAY10BE, AV_PIX_FMT_NONE }; |
|
133 |
+ static const enum AVPixelFormat out12le_pixfmts[] = { AV_PIX_FMT_GRAY12LE, AV_PIX_FMT_NONE }; |
|
134 |
+ static const enum AVPixelFormat out12be_pixfmts[] = { AV_PIX_FMT_GRAY12BE, AV_PIX_FMT_NONE }; |
|
118 | 135 |
static const enum AVPixelFormat out16le_pixfmts[] = { AV_PIX_FMT_GRAY16LE, AV_PIX_FMT_NONE }; |
119 | 136 |
static const enum AVPixelFormat out16be_pixfmts[] = { AV_PIX_FMT_GRAY16BE, AV_PIX_FMT_NONE }; |
120 | 137 |
const enum AVPixelFormat *out_pixfmts, *in_pixfmts; |
... | ... |
@@ -150,6 +180,14 @@ static int query_formats(AVFilterContext *ctx) |
150 | 150 |
|
151 | 151 |
if (depth == 8) |
152 | 152 |
out_pixfmts = out8_pixfmts; |
153 |
+ else if (!be && depth == 10) |
|
154 |
+ out_pixfmts = out10le_pixfmts; |
|
155 |
+ else if (be && depth == 10) |
|
156 |
+ out_pixfmts = out10be_pixfmts; |
|
157 |
+ else if (!be && depth == 12) |
|
158 |
+ out_pixfmts = out12le_pixfmts; |
|
159 |
+ else if (be && depth == 12) |
|
160 |
+ out_pixfmts = out12be_pixfmts; |
|
153 | 161 |
else if (be) |
154 | 162 |
out_pixfmts = out16be_pixfmts; |
155 | 163 |
else |