summaryrefslogtreecommitdiff
path: root/libavcodec
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2015-06-14 04:45:02 +0200
committerMichael Niedermayer <michaelni@gmx.at>2015-06-14 13:01:12 +0200
commitad072a134fc02a1387107710acbdf29d21c8abc5 (patch)
treefabc8321c6419c320a2e44bbce2b8879891b0802 /libavcodec
parent132bf0bbb7dcf0c5cc02c0608a3c90742a0b801b (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>
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/jpeg2000dec.c18
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, "