272 Commits

Author SHA1 Message Date
Michael Niedermayer
8ff09e9098 avcodec/jpeg2000dec: Use 32x32->64bit for 5/3 dequantization
This fixes overflows, using fewer bits would impact high bit depth quality

Fixes Ticket4654

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-24 17:03:38 +02:00
Michael Niedermayer
bb9f4f94ac avcodec/jpeg2000dec: Replace TPsot check by assert
The condition is impossible now.
the TPsot type is changed to unsigned int to prevent gcc from producing warnings

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-20 14:26:34 +02:00
Michael Niedermayer
5ba9ec824a avcodec/jpeg2000dec: Increase tile part limit to 256
This is the maximum that the syntax of jpeg2000 is capable to store

Fixes Ticket4639

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-20 14:26:34 +02:00
Michael Niedermayer
08326e73a2 avcodec/jpeg2000dec: Continue decoding reslevels even when empty ones are encountered
Fixes Ticket4635

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-18 02:23:37 +02:00
Michael Niedermayer
2687a51a3f avcodec/jpeg2000dec: Drop unneeded rlevel variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-17 15:48:12 +02:00
Michael Niedermayer
20657e05bc avcodec/jpeg2000dec: Improve end check
Fixes spurious end mismatch warnings

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-16 18:34:20 +02:00
Michael Niedermayer
36241c4055 avcodec/jpeg2000dec: Fix term_cnt check
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-16 18:31:59 +02:00
Michael Niedermayer
fefe04259a avcodec/jpeg2000dec: increase tile part limit to 32
Fixes Ticket4629

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-15 23:24:49 +02:00
Michael Niedermayer
2819aeb0f3 avcodec/jpeg2000dec: Omit mqc reinit after the last pass
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-15 20:49:04 +02:00
Michael Niedermayer
96bbbebaf9 avcodec/jpeg2000dec: Fix Vertically causal context formation
Fixes Ticket4626

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-15 18:12:45 +02:00
Michael Niedermayer
4ec14ce121 avcodec/jpeg2000dec: Improve readability of SOP check
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-15 13:29:41 +02:00
Michael Niedermayer
9ba5fe7f3d avcodec/jpeg2000dec: Remove redundant check
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-15 03:11:58 +02:00
Michael Niedermayer
5b0f55aab9 avcodec/jpeg2000dec: Check reslevelno in RPCL
Fixes out of array read
Fixes Ticket4627

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-15 03:00:53 +02:00
Michael Niedermayer
a58f1bcc4c avcodec/jpeg2000dec: Skip SOP
Fixes Ticket4625

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-15 02:32:45 +02:00
Michael Niedermayer
4bfdd967a6 avcodec/jpeg2000dec: Use <0 instead of != 0 for error checking
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-15 02:19:48 +02:00
Michael Niedermayer
5ef578d03a avcodec/jpeg2000dec: Also include remaining length in "Block length" error message
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-15 01:43:14 +02:00
Michael Niedermayer
a206c13289 avcodec/jpeg2000: Change codeblock coords to same origin as bands
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-14 22:59:50 +02:00
Michael Niedermayer
6b08dc393b avcodec/jpeg2000dec: Print warning if the mqc pointer mismatches at the end
If this occurs on valid and correctly decoded files it should be reduced to debug
level

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-14 21:40:09 +02:00
Michael Niedermayer
91c8025c44 avcodec/jpeg2000dec: Show the progression order at debug level for all variants
It was previously shown just for some, this makes it consistent

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-14 21:40:08 +02:00
Michael Niedermayer
742a26c489 avcodec/jpeg2000dec: Print error messages for more error conditions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-14 15:15:51 +02:00
Michael Niedermayer
ad072a134f 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>
2015-06-14 13:01:12 +02:00
Michael Niedermayer
132bf0bbb7 avcodec/jpeg2000dec: Print all cdx/cdy values not just the 2nd and 3rd
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-14 11:49:49 +02:00
Michael Niedermayer
4a3bc0d9a5 avcodec/jpeg2000dec: Implement "Reset context probabilities on coding pass boundaries"
No testcase with just this feature known

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-14 03:38:41 +02:00
Michael Niedermayer
612f8cae06 avcodec/jpeg2000dec: Support RPCL
Fixes Ticket 2792

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-14 02:53:51 +02:00
Michael Niedermayer
c3517c377e avcodec/jpeg2000dec: Support PCRL
Fixes Ticket4603

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-13 13:56:49 +02:00
Michael Niedermayer
eb1beb9e1c avcodec/jpeg2000dec: Try to fix remaining DCinema hardcoded TODOs in CPRL
Again, no testcase

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-13 13:37:56 +02:00
Michael Niedermayer
0a3eb0422a avcodec/jpeg2000dec: try to correct tile location in CPRL code
No testcase

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-13 13:09:13 +02:00
Michael Niedermayer
7c244349fc avcodec/jpeg2000dec: Factorize component out of CPRL loop
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-13 13:09:13 +02:00
Michael Niedermayer
86efe83177 avcodec/jpeg2000dec: Fix x/y step TODO for CPRL
No testcase known

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-13 13:09:13 +02:00
Michael Niedermayer
971b377960 avcodec/jpeg2000dec: Reduce verbosity of get_plt()
The existence of such element does not represent an error

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-12 16:48:57 +02:00
Michael Niedermayer
5b2f9790e6 avcodec/jpeg2000dec: Fallback to yuv if no matching xyz format exists
Fixes Ticket4471

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-12 16:44:11 +02:00
Michael Niedermayer
eaa8685033 avcodec/jpeg2000dec: Do not abort if prc is outside limits
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-12 16:30:50 +02:00
Michael Niedermayer
3dea13e710 avcodec/jpeg2000dec: Assert that pixel format descriptor is not NULL
We only look up pixel formats from a fixed list so none should ever
fail to be found

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-12 14:33:53 +02:00
Michael Niedermayer
e7adb02d3b avcodec/jpeg2000dec: Do not hardcode tile part usage
Fixes part of Ticket 4605

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-12 04:51:37 +02:00
Michael Niedermayer
1b3fbe41c5 avcodec/jpeg2000dec: Do not print a warning for RLCP
It seems to be working now

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-12 04:51:30 +02:00
Michael Niedermayer
4af9eb4f75 avcodec/jpeg2000dec: Remove unused variable and argument
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-12 03:33:31 +02:00
Michael Niedermayer
dc73c7adc0 avcodec/jpeg2000dec: Fix Selective arithmetic coding bypass and Multiple codeword segments
These 2 are highly related so they are in the same commit
Fixes part of Ticket4605
Fixes p0_04.j2k

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-12 03:12:54 +02:00
Michael Niedermayer
eea92133a1 avcodec/mqcdec: Support raw bypass and non reseting init
Some broken code that used the old mqc is removed

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-12 03:02:09 +02:00
Michael Niedermayer
b395fd3de7 avcodec/jpeg2000dec: add some sanity checking on newpasses
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-12 02:02:38 +02:00
Michael Niedermayer
5ccca4eb8e avcodec/jpeg2000dec: Add some additional checking on lengthinc
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-12 01:13:55 +02:00
Michael Niedermayer
2f1dd4a3d1 avcodec/jpeg2000dec: Print warning for "Selective arithmetic coding bypass"
This is implemented but i suspect does not work correctly as no file using this
seems to decode correctly.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-11 22:59:07 +02:00
Michael Niedermayer
9c8939216b avcodec/jpeg2000dec: Implement progression order RLCP
This works with one of 2 RLCP samples i have, the other appears to also
use selective arithemtic coding bypass which may or may not be the reason why it does
not work

Sample: p0_16.j2k

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-11 21:38:10 +02:00
Michael Niedermayer
b58a3c8975 avcodec/jpeg2000dec: Print the correct variable in the component error message
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-10 04:50:40 +02:00
Michael Niedermayer
81471d8246 avcodec/jpeg2000dec: increase tile_parts to 6
Fixes Ticket4602

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-10 04:50:14 +02:00
Michael Niedermayer
213f2da46a avcodec/jpeg2000dec: Fix shift for RGB(A)48/64
Found-by: carl
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-10 04:19:38 +02:00
Michael Niedermayer
0916938a8d avcodec/jpeg2000dec: Fix gain regression with gray16
Found-by: carl
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-09 20:26:38 +02:00
Michael Niedermayer
45db921806 avcodec/jpeg2000dec: Add placeholder for PLT parsing
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-09 15:16:46 +02:00
Michael Niedermayer
b6ee1912f9 avcodec/jpeg2000dec: Handle Psot = 0
Fixes Ticket2869

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-09 14:43:03 +02:00
Michael Niedermayer
7c9fcdfabd avcodec/jpeg2000dec: Fix some 5/3 bitexactness issues
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-09 02:17:53 +02:00
Michael Niedermayer
074159ed70 avcodec/jpeg2000dec: Fix subsampled decoding
Fixes part of Ticket3619

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-09 01:02:05 +02:00