Open GoogleCodeExporter opened 8 years ago
Making clipping behavior normative is not possible since that would mean
changing the bitstream specification, which has been frozen since summer 2013.
Encoders encountering setup and input YUV such as your example are free to
handle this in whatever appropriate manner. For example, the overflow could be
detected and trigger a re-encode with different settings (lossless, different
QP, etc.).
Original comment by pkapsenb@google.com
on 30 Jun 2015 at 3:59
Original comment by ya...@google.com
on 30 Jun 2015 at 5:21
Looking closely at the issue, it is a 16x16 block residual values of uniform
-255. The dequantized coefficients are:
ffff8d2b ffffd968 ffffe8d8 ffffef60 fffff2f0 fffff550 fffff680 fffff7b0
fffff848 fffff8e0 fffff978 fffffa10 fffffa10 fffffa10 fffffaa8 fffffaa8
0 0 0 all (0)s.
Because the transform type is DCT_ADST, so the inverse transform used is
iadst_idct combination. The iadst can produce values out of range in stage 3.
A possible fix is to encode side specific inverse transforms with range check.
Original comment by ya...@google.com
on 30 Jun 2015 at 9:48
Original comment by ya...@google.com
on 30 Jun 2015 at 10:00
Also in this particular example, configuring without --enable-vp9-highbitdepth
enables the encoder to produce a valid vp9 output because the mode that led to
out-of-range coefficient in evaluation is not selected in actual encoding.
Original comment by ya...@google.com
on 30 Jun 2015 at 11:52
Attachments:
Original issue reported on code.google.com by
sebastien.alaiwan@allegrodvt.com
on 29 Jun 2015 at 3:50Attachments: