-
Hi, But when I try to pass the uint16_t data directly in order to encode it at higher bit depth, although the process completes successfully I get an image the top half of which is full of noise and the bottom half is completely black. For this I'm doing the following:
After that I set up the encoder in exactly the same way that works for me with 8-bit data. Is there anything obvious that I'm doing wrong? I get the exact same result whether I try encoding to av1f or hevc, and whether I use monochrome data or interleaved 16-bit RGB data (using heif_colorspace_rgb and heif_chroma_RRGGBB_* (LE or BE makes no difference)) (except the noise is coloured of course), so I assume it's something to do with endianness or how I'm structuring the data in some way. I've also tried setting the 4 least significant bits of the input data to 0, but that made no change. It doesn't make any difference if I set the bit depth to 10 instead of 12 in heif_image_add_plane() either. I've tried loading the image using my own routine as well as Gimp, and get the same junk results from both. Any help you can provide in getting high bit depth encoding working will be gratefully received. I've tried to keep the steps I'm following simple but if it helps I can post the whole function. |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
Never mind, in the end I adapted the code from GIMP, it works fine now. Apologies for the noise. |
Beta Was this translation helpful? Give feedback.
Never mind, in the end I adapted the code from GIMP, it works fine now. Apologies for the noise.