summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/avcodec/decode.c4
-rw-r--r--modules/avcodec/encode.c9
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));