[FFmpeg-devel] [PATCH 09/10] swscale: add P210/P410/P216/P416 output
rcombs
rcombs at rcombs.me
Fri Dec 17 02:12:14 EET 2021
---
libswscale/output.c | 8 ++++++--
libswscale/utils.c | 16 ++++++++--------
libswscale/version.h | 2 +-
3 files changed, 15 insertions(+), 11 deletions(-)
diff --git a/libswscale/output.c b/libswscale/output.c
index 58b10f85a5..4b4b186be9 100644
--- a/libswscale/output.c
+++ b/libswscale/output.c
@@ -2563,14 +2563,18 @@ av_cold void ff_sws_init_output_funcs(SwsContext *c,
enum AVPixelFormat dstFormat = c->dstFormat;
const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(dstFormat);
- if (dstFormat == AV_PIX_FMT_P010LE || dstFormat == AV_PIX_FMT_P010BE) {
+ if (dstFormat == AV_PIX_FMT_P010LE || dstFormat == AV_PIX_FMT_P010BE ||
+ dstFormat == AV_PIX_FMT_P210LE || dstFormat == AV_PIX_FMT_P210BE ||
+ dstFormat == AV_PIX_FMT_P410LE || dstFormat == AV_PIX_FMT_P410BE) {
*yuv2plane1 = isBE(dstFormat) ? yuv2p010l1_BE_c : yuv2p010l1_LE_c;
*yuv2planeX = isBE(dstFormat) ? yuv2p010lX_BE_c : yuv2p010lX_LE_c;
*yuv2nv12cX = yuv2p010cX_c;
} else if (is16BPS(dstFormat)) {
*yuv2planeX = isBE(dstFormat) ? yuv2planeX_16BE_c : yuv2planeX_16LE_c;
*yuv2plane1 = isBE(dstFormat) ? yuv2plane1_16BE_c : yuv2plane1_16LE_c;
- if (dstFormat == AV_PIX_FMT_P016LE || dstFormat == AV_PIX_FMT_P016BE) {
+ if (dstFormat == AV_PIX_FMT_P016LE || dstFormat == AV_PIX_FMT_P016BE ||
+ dstFormat == AV_PIX_FMT_P216LE || dstFormat == AV_PIX_FMT_P216BE ||
+ dstFormat == AV_PIX_FMT_P416LE || dstFormat == AV_PIX_FMT_P416BE) {
*yuv2nv12cX = yuv2p016cX_c;
}
} else if (isNBPS(dstFormat)) {
diff --git a/libswscale/utils.c b/libswscale/utils.c
index d4a72d3ce1..c80b4f3e35 100644
--- a/libswscale/utils.c
+++ b/libswscale/utils.c
@@ -268,14 +268,14 @@ static const FormatEntry format_entries[] = {
[AV_PIX_FMT_Y210LE] = { 1, 0 },
[AV_PIX_FMT_X2RGB10LE] = { 1, 1 },
[AV_PIX_FMT_X2BGR10LE] = { 1, 1 },
- [AV_PIX_FMT_P210BE] = { 1, 0 },
- [AV_PIX_FMT_P210LE] = { 1, 0 },
- [AV_PIX_FMT_P410BE] = { 1, 0 },
- [AV_PIX_FMT_P410LE] = { 1, 0 },
- [AV_PIX_FMT_P216BE] = { 1, 0 },
- [AV_PIX_FMT_P216LE] = { 1, 0 },
- [AV_PIX_FMT_P416BE] = { 1, 0 },
- [AV_PIX_FMT_P416LE] = { 1, 0 },
+ [AV_PIX_FMT_P210BE] = { 1, 1 },
+ [AV_PIX_FMT_P210LE] = { 1, 1 },
+ [AV_PIX_FMT_P410BE] = { 1, 1 },
+ [AV_PIX_FMT_P410LE] = { 1, 1 },
+ [AV_PIX_FMT_P216BE] = { 1, 1 },
+ [AV_PIX_FMT_P216LE] = { 1, 1 },
+ [AV_PIX_FMT_P416BE] = { 1, 1 },
+ [AV_PIX_FMT_P416LE] = { 1, 1 },
};
void ff_shuffle_filter_coefficients(SwsContext *c, int *filterPos, int filterSize, int16_t *filter, int dstW){
diff --git a/libswscale/version.h b/libswscale/version.h
index 15ad54319c..8f7b56df9a 100644
--- a/libswscale/version.h
+++ b/libswscale/version.h
@@ -28,7 +28,7 @@
#define LIBSWSCALE_VERSION_MAJOR 6
#define LIBSWSCALE_VERSION_MINOR 1
-#define LIBSWSCALE_VERSION_MICRO 101
+#define LIBSWSCALE_VERSION_MICRO 102
#define LIBSWSCALE_VERSION_INT AV_VERSION_INT(LIBSWSCALE_VERSION_MAJOR, \
LIBSWSCALE_VERSION_MINOR, \
--
2.33.1
More information about the ffmpeg-devel
mailing list