mpeg5 / xeve

eXtra-fast Essential Video Encoder, MPEG-5 EVC (Essential Video Coding)
Other
166 stars 39 forks source link

level_idc value out of range #129

Closed dkozinski closed 3 months ago

dkozinski commented 3 months ago

While decoding the EVC stream, the parameter level_idc read from the stream (SPS.level_idc) has value of 215, which means it is out of range. According to the ISO IEC 23094 document, level_idc should be within the range [30, 186] (Annex A: A4.1 "level_idc shall be set equal to the value of 30 times the level number specified in Table A.1.").

During the encoding of the EVC stream in the xeve_set_sps() function, the value retrieved from XEVE_CTX::param::level_idc is written to sps->level_idc after being multiplied by 3. Why is this done? Is the value of level_idc correct? Why does it exceed the range specified in the ISO document?

kpchoi commented 3 months ago

@dkozinski @dariusz-f level_idc value cannot have 215 as you mentioned. I don't know where you got the bitstream, it might be made with wrong command line argument. @mss-park is going to push PR to prevent wrong level_idc value in encoder.