diff options
-rw-r--r-- | modules/avcodec/decode.c | 4 | ||||
-rw-r--r-- | modules/avcodec/encode.c | 9 |
2 files changed, 13 insertions, 0 deletions
diff --git a/modules/avcodec/decode.c b/modules/avcodec/decode.c index badb192..d9ce5c7 100644 --- a/modules/avcodec/decode.c +++ b/modules/avcodec/decode.c @@ -247,6 +247,10 @@ static int ffdecode(struct viddec_state *st, struct vidframe *frame) frame->fmt = VID_FMT_NV12; break; + case AV_PIX_FMT_YUV444P: + frame->fmt = VID_FMT_YUV444P; + break; + default: warning("avcodec: decode: bad pixel format" " (%i) (%s)\n", diff --git a/modules/avcodec/encode.c b/modules/avcodec/encode.c index cb9d63d..0bdb1d3 100644 --- a/modules/avcodec/encode.c +++ b/modules/avcodec/encode.c @@ -586,6 +586,11 @@ int encode_x264(struct videnc_state *st, bool update, pln = 2; break; + case VID_FMT_YUV444P: + csp = X264_CSP_I444; + pln = 3; + break; + default: warning("avcodec: pixel format not supported (%s)\n", vidfmt_name(frame->fmt)); @@ -680,6 +685,10 @@ int encode(struct videnc_state *st, bool update, const struct vidframe *frame) pix_fmt = AV_PIX_FMT_NV12; break; + case VID_FMT_YUV444P: + pix_fmt = AV_PIX_FMT_YUV444P; + break; + default: warning("avcodec: pixel format not supported (%s)\n", vidfmt_name(frame->fmt)); |