О построении образа ipp

У меня есть изображение, хранящееся в указателе на char, и я хочу использовать на нем функции ipp. Как создать образ Ipp8u* в ipp из этого указателя на char? это тяжелый расчет (конструкция)? Могу ли я сделать простой кастинг? Большое спасибо


person lital maatuk    schedule 02.05.2012    source источник


Ответы (1)


Да, все, что вам нужно сделать, это привести указатель:

Ipp8u *ipp_data = static_cast<Ipp8u*>(your_data);

или, если вы по какой-то причине предпочитаете приведения в стиле C:

Ipp8u *ipp_data = (Ipp8u *)your_data;

Как отмечено в документации Intel, Ipp8u эквивалентно unsigned char языка C — как минимум в типичной реализации, где CHAR_BIT == 8. Это не обязательно, но я считаю, что это относится к большинству (если не ко всем) компиляторы/платформы, поддерживаемые Intel-IPP.

person Jerry Coffin    schedule 08.05.2012
comment
Интересно, почему они говорят unsigned char, а не uint8_t, что более явно. - person Mahmoud Al-Qudsi; 11.05.2012
comment
@MahmoudAl-Qudsi: я могу только догадываться, что это потому, что unsigned char более распространен/широко известен, но я должен согласиться, что uint8_t действительно более точно соответствует описанию. - person Jerry Coffin; 12.05.2012