Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Перепутанные каналы цветов в видео #539

Closed
lpenguin opened this issue Jan 30, 2022 · 7 comments
Closed

Перепутанные каналы цветов в видео #539

lpenguin opened this issue Jan 30, 2022 · 7 comments

Comments

@lpenguin
Copy link
Contributor

Мехосы в магазине имеют синеватый оттенок.

Скорее всего связано с тем, что формат видео не RGBA, а Compositor поддержтвает пока только его.

IMG_20220130_090842_745

@lpenguin lpenguin self-assigned this Jan 30, 2022
@lpenguin
Copy link
Contributor Author

lpenguin commented Feb 2, 2022

Код рендерящий видео:

Vangers/lib/xsound/avi.cpp

Lines 314 to 329 in 221b64d

AVFrame* frame = ((AVIFile *) avi)->pFrame;
if (frame->format == AV_PIX_FMT_PAL8) {
for (int y = 0; y < height; ++y) {
for (int x = 0; x < width; ++x) {
int index = frame->data[0][y * frame->linesize[0] + x];
uint32_t* pixel = rgba + (y + offsetY) * lineWidth + x + offsetX;
*pixel = ((uint32_t *)frame->data[1])[index];
((uint8_t*) pixel)[3] = 255;
if (bright < 1) {
((uint8_t*) pixel)[0] *= bright;
((uint8_t*) pixel)[1] *= bright;
((uint8_t*) pixel)[2] *= bright;
}
}
}

Да, на little-endian CPU формат видео будет BRGA: https://ffmpeg.org/doxygen/3.3/pixfmt_8h.html#a9a8e335cf3be472042bc9f0cf80cd4c5

Увы, с поддержкой BGRA в WebGL2 не все так просто: https://www.g-truc.net/post-0734.html

Интересно, как с этим работает SDL2 в браузере

@caiiiycuk
Copy link
Contributor

Так просто поменять же биты местами? Я в веб версии так сделал

@lpenguin
Copy link
Contributor Author

lpenguin commented Feb 2, 2022

@caiiiycuk можешь показать где менял?

@caiiiycuk
Copy link
Contributor

К сожалению не могу, там просто другой код для видео

@lpenguin
Copy link
Contributor Author

lpenguin commented Feb 2, 2022

@caiiiycuk я вот так поправил, у тебя чтото похожее?
#545

@caiiiycuk
Copy link
Contributor

@lpenguin да именно так

@lpenguin
Copy link
Contributor Author

lpenguin commented May 4, 2022

Поправлено в #545

@lpenguin lpenguin closed this as completed May 4, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants