summaryrefslogtreecommitdiff
path: root/libavformat/avisynth.c
diff options
context:
space:
mode:
authorStephen Hutchinson <qyot27@gmail.com>2019-03-24 16:25:37 -0400
committerGyan Doshi <ffmpeg@gyani.pro>2019-05-04 11:59:00 +0530
commitb1681bad33581bc8a018bc9b6ec02761162240e4 (patch)
tree3a938cd8df08066829b8a273583ece34acabf65d /libavformat/avisynth.c
parent18bbb2dd01f25cf1b36106588a3699c0741bba19 (diff)
downloadffmpeg-b1681bad33581bc8a018bc9b6ec02761162240e4.tar.gz
libavformat/avisynth: enable additional pix_fmts
These pix_fmts have been added to FFmpeg in the 31 months since commit 92916e8542e425ca20daddb490261a5818643206 added support for the larger number of pix_fmts that AviSynth+ can use. They were present in AviSynth+ even then, just not in libavutil.
Diffstat (limited to 'libavformat/avisynth.c')
-rw-r--r--libavformat/avisynth.c33
1 files changed, 32 insertions, 1 deletions
diff --git a/libavformat/avisynth.c b/libavformat/avisynth.c
index 250a489321..2181510c2f 100644
--- a/libavformat/avisynth.c
+++ b/libavformat/avisynth.c
@@ -323,6 +323,10 @@ static int avisynth_create_stream_video(AVFormatContext *s, AVStream *st)
st->codecpar->format = AV_PIX_FMT_YUVA420P10;
planar = 4;
break;
+ case AVS_CS_YUVA422P12:
+ st->codecpar->format = AV_PIX_FMT_YUVA422P12;
+ planar = 4;
+ break;
case AVS_CS_YUVA444P16:
st->codecpar->format = AV_PIX_FMT_YUVA444P16;
planar = 4;
@@ -356,6 +360,11 @@ static int avisynth_create_stream_video(AVFormatContext *s, AVStream *st)
st->codecpar->format = AV_PIX_FMT_GBRP16;
planar = 3;
break;
+ /* Single precision floating point Planar RGB (AviSynth+) */
+ case AVS_CS_RGBPS:
+ st->codecpar->format = AV_PIX_FMT_GBRPF32;
+ planar = 3;
+ break;
/* Planar RGB pix_fmts with Alpha (AviSynth+) */
case AVS_CS_RGBAP:
st->codecpar->format = AV_PIX_FMT_GBRAP;
@@ -373,11 +382,33 @@ static int avisynth_create_stream_video(AVFormatContext *s, AVStream *st)
st->codecpar->format = AV_PIX_FMT_GBRAP16;
planar = 5;
break;
- /* GRAY16 (AviSynth+) */
+ /* Single precision floating point Planar RGB with Alpha (AviSynth+) */
+ case AVS_CS_RGBAPS:
+ st->codecpar->format = AV_PIX_FMT_GBRAPF32;
+ planar = 5;
+ break;
+ /* 10~16-bit gray pix_fmts (AviSynth+) */
+ case AVS_CS_Y10:
+ st->codecpar->format = AV_PIX_FMT_GRAY10;
+ planar = 2;
+ break;
+ case AVS_CS_Y12:
+ st->codecpar->format = AV_PIX_FMT_GRAY12;
+ planar = 2;
+ break;
+ case AVS_CS_Y14:
+ st->codecpar->format = AV_PIX_FMT_GRAY14;
+ planar = 2;
+ break;
case AVS_CS_Y16:
st->codecpar->format = AV_PIX_FMT_GRAY16;
planar = 2;
break;
+ /* Single precision floating point gray (AviSynth+) */
+ case AVS_CS_Y32:
+ st->codecpar->format = AV_PIX_FMT_GRAYF32;
+ planar = 2;
+ break;
/* pix_fmts added in AviSynth 2.6 */
case AVS_CS_YV24:
st->codecpar->format = AV_PIX_FMT_YUV444P;