Имейте в виду, что добавление числа к указателю увеличивает указатель на это количество элементов, а не байтов. Другими словами, вы сначала добавляете j * sizeof(the type of the luma entries)
к указателю, а затем i * sizeof(unsigned short)
, что для большинства реализаций составляет два байта.
Если вы хотите добавить байты j + i, лучше сделать что-то вроде этого.
temp = (unsigned short *)((intptr_t)p_vqi->luma + j + i);
Это должно дать вам указатель на беззнаковое короткое замыкание, расширенное на i + j байтов от оригинала. Тип intptr_t - C99, если вам нужно быть совместимым со старыми компиляторами, используйте unsigned long.