dxr3outputprocessor.cc
来自「Linux下比较早的基于命令行的DVD播放器」· CC 代码 · 共 154 行
CC
154 行
//// 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 + =
减小字号Ctrl + -
显示快捷键?