On Mon, Apr 10, 2017 at 6:42 AM, Luca Barbato <[email protected]> wrote: > From: Paul B Mahol <[email protected]> > > Signed-off-by: Paul B Mahol <[email protected]> > Signed-off-by: Luca Barbato <[email protected]> > --- > libavcodec/utvideodec.c | 30 ++++++++++++++++++++++++++++++ > libavformat/riff.c | 2 ++ > 2 files changed, 32 insertions(+) > > diff --git a/libavcodec/utvideodec.c b/libavcodec/utvideodec.c > index cc18e3d..f5fae8b 100644 > --- a/libavcodec/utvideodec.c > +++ b/libavcodec/utvideodec.c > @@ -681,6 +681,26 @@ static int decode_frame(AVCodecContext *avctx, void > *data, int *got_frame, > } > } > break; > + case AV_PIX_FMT_YUV444P: > + for (i = 0; i < 3; i++) { > + ret = decode_plane(c, i, frame.f->data[i], 1, > frame.f->linesize[i], > + avctx->width, avctx->height, > + plane_start[i], c->frame_pred == PRED_LEFT); > + if (ret) > + return ret; > + if (c->frame_pred == PRED_MEDIAN) { > + if (!c->interlaced) { > + restore_median(frame.f->data[i], 1, frame.f->linesize[i], > + avctx->width, avctx->height, > + c->slices, 0); > + } else { > + restore_median_il(frame.f->data[i], 1, > frame.f->linesize[i], > + avctx->width, avctx->height, > + c->slices, 0); > + } > + } > + } > + break; > case AV_PIX_FMT_YUV422P10: > for (i = 0; i < 3; i++) { > ret = decode_plane10(c, i, (uint16_t *)frame.f->data[i], 1, > frame.f->linesize[i] / 2, > @@ -762,6 +782,11 @@ static av_cold int decode_init(AVCodecContext *avctx) > avctx->pix_fmt = AV_PIX_FMT_YUV422P; > avctx->colorspace = AVCOL_SPC_BT470BG; > break; > + case MKTAG('U', 'L', 'Y', '4'): > + c->planes = 3; > + avctx->pix_fmt = AV_PIX_FMT_YUV444P; > + avctx->colorspace = AVCOL_SPC_BT470BG; > + break; > case MKTAG('U', 'Q', 'Y', '2'): > c->planes = 3; > avctx->pix_fmt = AV_PIX_FMT_YUV422P10; > @@ -784,6 +809,11 @@ static av_cold int decode_init(AVCodecContext *avctx) > avctx->pix_fmt = AV_PIX_FMT_YUV422P; > avctx->colorspace = AVCOL_SPC_BT709; > break; > + case MKTAG('U', 'L', 'H', '4'): > + c->planes = 3; > + avctx->pix_fmt = AV_PIX_FMT_YUV444P; > + avctx->colorspace = AVCOL_SPC_BT709; > + break; > default: > av_log(avctx, AV_LOG_ERROR, "Unknown Ut Video FOURCC provided > (%08X)\n", > avctx->codec_tag); > diff --git a/libavformat/riff.c b/libavformat/riff.c > index 2e884eb..2046a6d 100644 > --- a/libavformat/riff.c > +++ b/libavformat/riff.c > @@ -340,8 +340,10 @@ const AVCodecTag ff_codec_bmp_tags[] = { > { AV_CODEC_ID_UTVIDEO, MKTAG('U', 'L', 'R', 'G') }, > { AV_CODEC_ID_UTVIDEO, MKTAG('U', 'L', 'Y', '0') }, > { AV_CODEC_ID_UTVIDEO, MKTAG('U', 'L', 'Y', '2') }, > + { AV_CODEC_ID_UTVIDEO, MKTAG('U', 'L', 'Y', '4') }, > { AV_CODEC_ID_UTVIDEO, MKTAG('U', 'L', 'H', '0') }, > { AV_CODEC_ID_UTVIDEO, MKTAG('U', 'L', 'H', '2') }, > + { AV_CODEC_ID_UTVIDEO, MKTAG('U', 'L', 'H', '4') }, > { AV_CODEC_ID_UTVIDEO, MKTAG('U', 'Q', 'Y', '2') }, > { AV_CODEC_ID_UTVIDEO, MKTAG('U', 'Q', 'R', 'A') }, > { AV_CODEC_ID_UTVIDEO, MKTAG('U', 'Q', 'R', 'G') }, > --
probably ok -- Vittorio _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
