Ejemplo n.º 1
0
Archivo: VDPAU.cpp Proyecto: Kzibi/xbmc
void CVDPAU::CheckFeatures()
{
  if (videoMixer == VDP_INVALID_HANDLE)
  {
    CLog::Log(LOGNOTICE, " (VDPAU) Creating the video mixer");
    // Creation of VideoMixer.
    VdpVideoMixerParameter parameters[] = {
      VDP_VIDEO_MIXER_PARAMETER_VIDEO_SURFACE_WIDTH,
      VDP_VIDEO_MIXER_PARAMETER_VIDEO_SURFACE_HEIGHT,
      VDP_VIDEO_MIXER_PARAMETER_CHROMA_TYPE
    };

    void const * parameter_values[] = {
      &vid_width,
      &vid_height,
      &vdp_chroma_type
    };

    tmpBrightness = 0;
    tmpContrast = 0;
    tmpNoiseReduction = 0;
    tmpSharpness = 0;

    VdpStatus vdp_st = VDP_STATUS_ERROR;
    vdp_st = vdp_video_mixer_create(vdp_device,
                                    m_feature_count,
                                    m_features,
                                    ARSIZE(parameters),
                                    parameters,
                                    parameter_values,
                                    &videoMixer);
    CheckStatus(vdp_st, __LINE__);

    SetHWUpscaling();
  }

  if (tmpBrightness != g_settings.m_currentVideoSettings.m_Brightness ||
      tmpContrast   != g_settings.m_currentVideoSettings.m_Contrast)
  {
    SetColor();
    tmpBrightness = g_settings.m_currentVideoSettings.m_Brightness;
    tmpContrast = g_settings.m_currentVideoSettings.m_Contrast;
  }
  if (tmpNoiseReduction != g_settings.m_currentVideoSettings.m_NoiseReduction)
  {
    tmpNoiseReduction = g_settings.m_currentVideoSettings.m_NoiseReduction;
    SetNoiseReduction();
  }
  if (tmpSharpness != g_settings.m_currentVideoSettings.m_Sharpness)
  {
    tmpSharpness = g_settings.m_currentVideoSettings.m_Sharpness;
    SetSharpness();
  }
  if (tmpDeint != g_settings.m_currentVideoSettings.m_InterlaceMethod)
  {
    tmpDeint = g_settings.m_currentVideoSettings.m_InterlaceMethod;
    SetDeinterlacing();
  }
}
Ejemplo n.º 2
0
bool BaseV4L2VideoCapture::SetCaptureFiltersToDefault() {
  if(!SetBrightness(_pVideoCaptureFiltersCapability->GetBrightnessConstraint().dflt))
    return false;
  if(!SetContrast(_pVideoCaptureFiltersCapability->GetContrastConstraint().dflt))
    return false;
  if(!SetHUE(_pVideoCaptureFiltersCapability->GetHueConstraint().dflt))
    return false;
  if(!SetSaturation(_pVideoCaptureFiltersCapability->GetSaturationConstraint().dflt))
    return false;
  if(!SetSharpness(_pVideoCaptureFiltersCapability->GetSharpnessConstraint().dflt))
    return false;
  if(!SetGamma(_pVideoCaptureFiltersCapability->GetGammaConstraint().dflt))
    return false;
  if(!SetBacklightCompensation(_pVideoCaptureFiltersCapability->GetBacklightCompensationConstraint().dflt))
    return false;

  return true;
}
void Sen_FlowFunc(SEN_FLOW_MSG MsgID, SenCBInfo *SenInfo)
{
    switch(MsgID)
    {
        case AE_PRV_INIT:
            aaa_InitAE();
            break;

        case AE_PRV_SETTING:
            AeCap2Prv();
            break;

        case AE_CAP_SETTING:
            AePrv2Cap();
            SetIPPFuncInfor(CAP_ISO, ISONUM0);
            break;

        case AWB_PRV_INIT:
            aaa_InitRBgain();
            aaa_InitAWB();
            break;

        case AWB_PRV_SETTING:
            AwbCap2Prv();
            break;

        case AWB_CAP_SETTING:
            AwbPrv2Cap();
            break;

        case PREFLASH_FLOW:
            flash_PreFlashFlow();
            break;

        case IPE_CAP_SETTING:
        case IPE_D2D_SETTING:
        case IPE_PRV_SETTING:
            ipe_IQparam(MsgID, &SenInfo->IPEModeInfo->IQINFO);
            ipe_changeParam(&SenInfo->IPEModeInfo->IQINFO);
            break;

        case IPE_PRV_AE_SETTING:
        case IPE_PRV_AF_SETTING:
            ipe_IQparam(MsgID, &SenInfo->IPEModeInfo->IQINFO);
            ipe_changeParam(&SenInfo->IPEModeInfo->IQINFO);
            SetSaturation(gImageAlgInfo.Saturation);
            SetSharpness(gImageAlgInfo.Sharpness);
            break;

        case TG_INIT:
            Sensor_config(SIE_PRE_Para_prv.ModeSel);
            break;

        case AFE_INIT:
            break;

        case PRE_PRV_SETTING:
            pre_PrvParameter(SenInfo->IppMgrInfo);
            break;

        case PRE_CAP_SETTING:
            pre_CapParameter(SenInfo->IppMgrInfo);
            break;

        case PRE_D2D_SETTING:
            pre_D2DParameter(SenInfo->IppMgrInfo);
            break;

        case SIE_PRE_GET_CAP_RAW:
            siepre_GetCapRaw(SenInfo->SiePreCapInfo);
            break;

        case SENSOR_MODE_SETTING:
//            Sensor_Mode_Transform(SenInfo->SiePrePrvInfo->ModeSel);
            Ae_Transform();
            aaa_AeLock(LOCK);
            break;

        case AE_PRV_GAIN_SETTING:
            AeSetAGCGain();
            break;

        case IPPFUNC_Switch:
            IPPFunc_OnOffSwitch();
            break;

        case AAFD_Switch:
            AAFD_LockSwitch(SenInfo->IPPImgMode);
            break;

//#NT#2009/10/08#Bowen Li -begin
//#NT#add IPL sleep & wake up command
        case IPL_SLEEP:
            Sen_EnterSleepMode(SenInfo->IplSleepLevel);
            break;

        case IPL_WAKEUP:
            Sen_LeaveSleepMode(SenInfo->IplSleepLevel);
            break;
//#NT#2009/10/08#Bowen Li -end
        //#NT#2009/12/09#Jarkko Chang -begin
        case IME_Chrom_Prv_SETTING:
            ime_ChromPram(MsgID);
            break;
        case IME_Chrom_Prv_AE_SETTING:
            ime_ChromPram(MsgID);
            break;
        case IME_Chrom_Cap_SETTING:
            ime_ChromPram(MsgID);
            break;
        //#NT#2009/12/09#Jarkko Chang -end
        default:
            debug_err(("-E- MsgID(%d) > MaxID(%d)\r\n", MsgID, SEN_FLOW_MSG_NUM));
            break;
    }
}