diff options
author | Michael Niedermayer | 2015-06-14 04:45:02 +0200 |
---|---|---|
committer | Michael Niedermayer | 2015-06-14 13:01:12 +0200 |
commit | ad072a134fc02a1387107710acbdf29d21c8abc5 (patch) | |
tree | fabc8321c6419c320a2e44bbce2b8879891b0802 | |
parent | 132bf0bbb7dcf0c5cc02c0608a3c90742a0b801b (diff) |
avcodec/jpeg2000dec: Handle format that has planes matching YUVA420P structure but seems not to be that
Outputs something for p0_05.j2k
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | libavcodec/jpeg2000dec.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/libavcodec/jpeg2000dec.c b/libavcodec/jpeg2000dec.c index a11033e8e1..21cc67d0b8 100644 --- a/libavcodec/jpeg2000dec.c +++ b/libavcodec/jpeg2000dec.c @@ -352,6 +352,24 @@ static int get_siz(Jpeg2000DecoderContext *s) break; } } + + if (i == possible_fmts_nb) { + if (ncomponents == 4 && + s->cdy[0] == 1 && s->cdx[0] == 1 && + s->cdy[1] == 1 && s->cdx[1] == 1 && + s->cdy[2] == s->cdy[3] && s->cdx[2] == s->cdx[3]) { + if (s->precision == 8 && s->cdy[2] == 2 && s->cdx[2] == 2 && !s->pal8) { + s->avctx->pix_fmt = AV_PIX_FMT_YUVA420P; + s->cdef[0] = 0; + s->cdef[1] = 1; + s->cdef[2] = 2; + s->cdef[3] = 3; + i = 0; + } + } + } + + if (i == possible_fmts_nb) { av_log(s->avctx, AV_LOG_ERROR, "Unknown pix_fmt, profile: %d, colour_space: %d, " |