📄 dxr3outputprocessor.cc
字号:
//// Copyright (c) 2003 by Istv醤 V醨adi//// This file is part of dxr3Player, a DVD player written specifically // for the DXR3 (aka Hollywood+) decoder card.// This program is free software; you can redistribute it and/or modify// it under the terms of the GNU General Public License as published by// the Free Software Foundation; either version 2 of the License, or// (at your option) any later version.//// This program is distributed in the hope that it will be useful,// but WITHOUT ANY WARRANTY; without even the implied warranty of// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the// GNU General Public License for more details.//// You should have received a copy of the GNU General Public License// along with this program; if not, write to the Free Software// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA//------------------------------------------------------------------------------#include "DXR3OutputProcessor.h"#include "output/OSSSoundcard.h"#include "output/dxr3/AudioDevice.h"//------------------------------------------------------------------------------using output::DXR3OutputProcessor;using output::OSSSoundcard;using dvd::packet::PacketQueue;using dvd::vm::ProcessorCommandQueue;using dvd::DVD;//------------------------------------------------------------------------------DXR3OutputProcessor::DXR3OutputProcessor(PacketQueue& inputQueue, DVD& dvd, ProcessorCommandQueue& processorCommandQueue) : BasicOutputProcessor("output::DXR3OutputProcessor", inputQueue, timer, audioHandler, dvd, processorCommandQueue, spuHandler, osdHandler, true), dxr3(0), audioDevice(Config::get().useOSSSoundcard ? (output::AudioDevice*)new OSSSoundcard("/dev/dsp") : (output::AudioDevice*)new output::dxr3::AudioDevice(dxr3.getAudio())), timer(dxr3), audioHandler(*audioDevice, timer, audioQueue), videoHandler(timer, videoQueue, dxr3.getVideo()), spuHandler(timer, spuQueue, dxr3.getVideo()){ timer.reset();}//------------------------------------------------------------------------------DXR3OutputProcessor::~DXR3OutputProcessor(){ delete audioDevice;}//------------------------------------------------------------------------------void DXR3OutputProcessor::reset(playMode_t newPlayMode, bool hasDVD){ audioHandler.reset(); videoHandler.reset(); spuHandler.reset(); BasicOutputProcessor::reset(newPlayMode, hasDVD);}//------------------------------------------------------------------------------unsigned DXR3OutputProcessor::increaseBrightness(){ return videoHandler.increaseBrightness();}//------------------------------------------------------------------------------unsigned DXR3OutputProcessor::decreaseBrightness(){ return videoHandler.decreaseBrightness();}//------------------------------------------------------------------------------unsigned DXR3OutputProcessor::increaseContrast(){ return videoHandler.increaseContrast();}//------------------------------------------------------------------------------unsigned DXR3OutputProcessor::decreaseContrast(){ return videoHandler.decreaseContrast();}//------------------------------------------------------------------------------unsigned DXR3OutputProcessor::increaseSaturation(){ return videoHandler.increaseSaturation();}//------------------------------------------------------------------------------unsigned DXR3OutputProcessor::decreaseSaturation(){ return videoHandler.decreaseSaturation();}//------------------------------------------------------------------------------void DXR3OutputProcessor::toggleOutput(){ dxr3.getOverlay().toggleOverlayMode();}//------------------------------------------------------------------------------void DXR3OutputProcessor::startPlaybackSequence(){ if (playMode==FORWARD) { timer.start(); } else { timer.startIntra(); }}//------------------------------------------------------------------------------bool DXR3OutputProcessor::isDifferent(const AVAttributes& attributes) const{ return videoHandler.isDifferent(attributes.video);}//------------------------------------------------------------------------------void DXR3OutputProcessor::updateAVAttributes(){ videoHandler.setAttributes(avAttributes.video);}//------------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -