Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer authored on 2014/01/07 03:47:34... | ... |
@@ -364,6 +364,9 @@ static av_cold int decode_init(AVCodecContext *avctx) |
364 | 364 |
&s->chroma_v_shift); |
365 | 365 |
} else { |
366 | 366 |
switch ( (s->chroma<<10) | (s->yuv<<9) | (s->alpha<<8) | ((s->bps-1)<<4) | s->chroma_h_shift | (s->chroma_v_shift<<2)) { |
367 |
+ case 0x470: |
|
368 |
+ avctx->pix_fmt = AV_PIX_FMT_GBRP; |
|
369 |
+ break; |
|
367 | 370 |
case 0x670: |
368 | 371 |
avctx->pix_fmt = AV_PIX_FMT_YUV444P; |
369 | 372 |
break; |
... | ... |
@@ -186,6 +186,7 @@ static av_cold int encode_init(AVCodecContext *avctx) |
186 | 186 |
case AV_PIX_FMT_YUV410P: |
187 | 187 |
case AV_PIX_FMT_YUV411P: |
188 | 188 |
case AV_PIX_FMT_YUV440P: |
189 |
+ case AV_PIX_FMT_GBRP: |
|
189 | 190 |
s->version = 3; |
190 | 191 |
break; |
191 | 192 |
case AV_PIX_FMT_RGB32: |
... | ... |
@@ -200,7 +201,7 @@ static av_cold int encode_init(AVCodecContext *avctx) |
200 | 200 |
} |
201 | 201 |
|
202 | 202 |
avctx->bits_per_coded_sample = s->bitstream_bpp; |
203 |
- s->decorrelate = s->bitstream_bpp >= 24 && !s->yuv; |
|
203 |
+ s->decorrelate = s->bitstream_bpp >= 24 && !s->yuv && avctx->pix_fmt != AV_PIX_FMT_GBRP; |
|
204 | 204 |
s->predictor = avctx->prediction_method; |
205 | 205 |
s->interlaced = avctx->flags&CODEC_FLAG_INTERLACED_ME ? 1 : 0; |
206 | 206 |
if (avctx->context_model == 1) { |
... | ... |
@@ -720,7 +721,7 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt, |
720 | 720 |
} |
721 | 721 |
encode_bgra_bitstream(s, width, 3); |
722 | 722 |
} |
723 |
- } else if (s->yuv) { |
|
723 |
+ } else if (s->version > 2) { |
|
724 | 724 |
int plane; |
725 | 725 |
for (plane = 0; plane < 1 + 2*s->chroma + s->alpha; plane++) { |
726 | 726 |
int left, y; |
... | ... |
@@ -856,6 +857,7 @@ AVCodec ff_ffvhuff_encoder = { |
856 | 856 |
.pix_fmts = (const enum AVPixelFormat[]){ |
857 | 857 |
AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV411P, |
858 | 858 |
AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV440P, |
859 |
+ AV_PIX_FMT_GBRP, |
|
859 | 860 |
AV_PIX_FMT_RGB24, |
860 | 861 |
AV_PIX_FMT_RGB32, AV_PIX_FMT_NONE |
861 | 862 |
}, |