Esempio n. 1
0
	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));
	}
Esempio n. 2
0
// *** 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);
}
Esempio n. 3
0
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();
}
Esempio n. 4
0
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();
}