strukturag / libde265.js

JavaScript-only version of libde265 HEVC/H.265 decoder.
GNU Lesser General Public License v3.0
603 stars 163 forks source link

coded parameter out of range error #17

Open warpdesign opened 6 years ago

warpdesign commented 6 years ago

While trying to decode an heic picture coming from an iPhone X I am getting this error:

hevc-decoder.js:166 coded parameter out of range

In this case, code is 8.

I am using Nokia's decoder which in turn uses libde265.js.

See nokiatech/heif#33

fancycode commented 6 years ago

Which version of libde265.js is used? Could you please provide a sample file and a demo setup so we can reproduce the error?

cc @farindk

warpdesign commented 6 years ago

I am using the latest min https://github.com/strukturag/libde265.js/tree/master/lib found here.

I have attached a sample file.

I'll see if I can setup a small project to reproduce the bug.

rodo.zip

farindk commented 6 years ago

I tried to reproduce it like this: I used Nokia's example code to extract the HEVC data stream from the HEIF file. This worked fine for other HEIF files. However, for your file, the Nokia code crashes with this error: Skipping an unknown box of type 'colr' in ItemPropertyContainer. Skipping an unknown box of type 'pixi' in ItemPropertyContainer. Skipping an unknown box of type 'colr' in ItemPropertyContainer. Skipping an unknown box of type 'pixi' in ItemPropertyContainer. terminate called after throwing an instance of 'std::out_of_range' what(): map::at Aborted (core dumped)

Could it be that the Nokia code cannot parse this file and you got corrupted HEVC data because of that?

Or, in case you got the HEVC data, could you send me the raw HEVC data-stream that I can test with the decoder?

connortechnology commented 3 years ago

https://user-images.githubusercontent.com/925519/140191387-b13f4919-c853-4c30-a3f9-27cb6122082e.mp4

Here is an example generated from ZoneMinder that exhibits this error.