float Joystick::getAxisValue(int8_t axis) const { if (axis < 0 || !isConnected()) { return 0; } if (!isController()) { return convertRange(SDL_JoystickGetAxis(m_joystickHandle, axis)); } SDL_GameControllerAxis sdlAxis = static_cast<SDL_GameControllerAxis>(axis); return convertRange(SDL_GameControllerGetAxis(m_controllerHandle, sdlAxis)); }
// *** horizontal scale Y line to temp buffer static av_always_inline void hyscale(SwsContext *c, int16_t *dst, int dstWidth, const uint8_t *src_in[4], int srcW, int xInc, const int16_t *hLumFilter, const int32_t *hLumFilterPos, int hLumFilterSize, uint8_t *formatConvBuffer, uint32_t *pal, int isAlpha) { void (*toYV12)(uint8_t *, const uint8_t *, int, uint32_t *) = isAlpha ? c->alpToYV12 : c->lumToYV12; void (*convertRange)(int16_t *, int) = isAlpha ? NULL : c->lumConvertRange; const uint8_t *src = src_in[isAlpha ? 3 : 0]; if (toYV12) { toYV12(formatConvBuffer, src, srcW, pal); src= formatConvBuffer; } else if (c->readLumPlanar && !isAlpha) { c->readLumPlanar(formatConvBuffer, src_in, srcW); src = formatConvBuffer; } if (!c->hyscale_fast) { c->hyScale(c, dst, dstWidth, src, hLumFilter, hLumFilterPos, hLumFilterSize); } else { // fast bilinear upscale / crap downscale c->hyscale_fast(c, dst, dstWidth, src, srcW, xInc); } if (convertRange) convertRange(dst, dstWidth); }
void MainWindow::contrastChanged(int value) { float param = convertRange(value, CONTRAST_ALGO_MAX, CONTRAST_ALGO_MIN, UI_CONTRAST_SLIDER_MAX, UI_CONTRAST_SLIDER_MIN); af::array slices = changeContrast(mCurrentImage, param); af::array interleaved = af::reorder(slices, 2, 1, 0)/255.0f; interleaved.host((void*)mImageDataRawPtr); mRenderCanvas->updateTexData(mImageDataRawPtr, mImageWidth, mImageHeight); mRenderCanvas->updateGL(); }
void MainWindow::usmChanged(int value) { mCurrUSMSharpness = convertRange(value, USMSHARP_ALGO_MAX, USMSHARP_ALGO_MIN, UI_USMSHARP_SLIDER_MAX, UI_USMSHARP_SLIDER_MIN); af::array slices = usm(mCurrentImage, mCurrUSMRadius, mCurrUSMSharpness); af::array interleaved = af::reorder(slices, 2, 1, 0)/255.0f; interleaved.host((void*)mImageDataRawPtr); mRenderCanvas->updateTexData(mImageDataRawPtr, mImageWidth, mImageHeight); mRenderCanvas->updateGL(); }