MythTV  master
Classes | Macros | Functions | Variables
goom_core.c File Reference
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "../config.h"
#include <stdint.h>
#include <inttypes.h>
#include "goom_core.h"
#include "goom_tools.h"
#include "filters.h"
#include "lines.h"
#include "ifs.h"
#include "tentacle3d.h"
Include dependency graph for goom_core.c:

Go to the source code of this file.

Classes

struct  GoomState
 

Macros

#define STOP_SPEED   128
 
#define TIME_BTW_CHG   300
 
#define STATES_NB   8
 
#define STATES_RANGEMAX   510
 
#define DRAWLINES   80
 
#define SWITCHMULT   (29.0f/30.0f)
 
#define SWITCHINCR   0x7f
 

Functions

void choose_a_goom_line (float *param1, float *param2, int *couleur, int *mode, float *amplitude, int far)
 
void goom_init (guint32 resx, guint32 resy, int cinemascope)
 
void goom_set_resolution (guint32 resx, guint32 resy, int cinemascope)
 
guint32goom_update (gint16 data[2][512], int forceMode)
 
void goom_close ()
 

Variables

static guint32pixel
 --------------------------------------------------—** More...
 
static guint32back
 
static guint32p1
 
static guint32p2
 
static guint32tmp
 
static guint32 cycle
 
GoomState states [STATES_NB]
 
GoomStatecurGState = states+4
 
guint32 resolx
 
guint32 resoly
 
guint32 buffsize
 
guint32 c_black_height = 0
 
guint32 c_offset = 0
 
guint32 c_resoly = 0
 
static GMLinegmline1 = NULL
 
static GMLinegmline2 = NULL
 

Macro Definition Documentation

◆ STOP_SPEED

#define STOP_SPEED   128

Definition at line 26 of file goom_core.c.

◆ TIME_BTW_CHG

#define TIME_BTW_CHG   300

Definition at line 28 of file goom_core.c.

◆ STATES_NB

#define STATES_NB   8

Definition at line 50 of file goom_core.c.

◆ STATES_RANGEMAX

#define STATES_RANGEMAX   510

Definition at line 51 of file goom_core.c.

◆ DRAWLINES

#define DRAWLINES   80

◆ SWITCHMULT

#define SWITCHMULT   (29.0f/30.0f)

◆ SWITCHINCR

#define SWITCHINCR   0x7f

Function Documentation

◆ choose_a_goom_line()

void choose_a_goom_line ( float *  param1,
float *  param2,
int *  couleur,
int *  mode,
float *  amplitude,
int  far 
)

Definition at line 844 of file goom_core.c.

Referenced by goom_update().

◆ goom_init()

void goom_init ( guint32  resx,
guint32  resy,
int  cinemascope 
)

Definition at line 73 of file goom_core.c.

Referenced by Goom::Goom(), and VideoVisualGoom::VideoVisualGoom().

◆ goom_set_resolution()

void goom_set_resolution ( guint32  resx,
guint32  resy,
int  cinemascope 
)

Definition at line 112 of file goom_core.c.

Referenced by Goom::resize().

◆ goom_update()

guint32* goom_update ( gint16  data[2][512],
int  forceMode 
)

Definition at line 141 of file goom_core.c.

Referenced by VideoVisualGoom::Draw(), and Goom::process().

◆ goom_close()

void goom_close ( void  )

Definition at line 830 of file goom_core.c.

Referenced by Goom::~Goom(), and VideoVisualGoom::~VideoVisualGoom().

Variable Documentation

◆ pixel

guint32* pixel
static

◆ back

guint32* back
static

◆ p1

guint32* p1
static

◆ p2

guint32 * p2
static

◆ tmp

guint32 * tmp
static

Definition at line 35 of file goom_core.c.

Referenced by __mhlog(), MPEG2fixup::add2x33(), EITHelper::AddEIT(), Scheduler::AddNewRecords(), Scheduler::AddNotListed(), MPEG2fixup::AddRangeList(), BufferedSocketDevice::Address(), alloc_avg(), alloc_line(), alloc_prev(), AudioBuffer::appendData(), VideoOutWindow::ApplyDBScaleAndMove(), VideoOutWindow::ApplyManualScaleAndMove(), NuppelVideoRecorder::AudioInit(), DecoderBase::AutoSelectTrack(), NetTree::BuildGenericTree(), VideoListImp::buildGroupList(), c_interp(), c_pack2(), FormattedTextLine::CalcSize(), DailyHouseKeeperTask::CalculateWindow(), TV::ChangeChannel(), V4LChannel::ChangePictureAttribute(), TV::ChannelEditDDFill(), TV::ChannelEditXDSFill(), RSSSite::List::clear(), NewsSite::List::clear(), MythRenderVDPAU::ClearVideoSurface(), DVBPIDInfo::Close(), CommercialSkipMethod(), CommMethod::CommMethod(), VideoOutput::Create(), MythRenderVDPAU::CreateBitmapSurface(), MythRenderVDPAU::CreateDecoder(), MHIBitmap::CreateFromMPEG(), ImageManagerFe::CreateImport(), MythRenderVDPAU::CreateOutputSurface(), MythRenderOpenGL2::CreateShader(), MythRenderOpenGL1::CreateShaderObject(), VideoOutputXv::CreateShmImages(), DataDirectProcessor::CreateTemp(), createTempFile(), MythRenderVDPAU::CreateVideoMixer(), MythRenderVDPAU::CreateVideoSurface(), VideoOutputVDPAU::CreateVideoSurfaces(), VideoOutputNullVDPAU::CreateVideoSurfaces(), ChannelEditor::customEvent(), ManualSchedule::dateChanged(), decode(), H264Parser::decode_SPS(), NuppelDecoder::DecodeFrame(), VAAPIDisplay::DecrRef(), delete_sock(), SubtitleScreen::DisplayAVSubtitles(), SubtitleScreen::DisplayDVDButton(), DoFlagCommercials(), StatusBox::doListingsStatus(), ScreenSetup::doListSelect(), StatusBox::doLogEntries(), LocationDialog::doSearch(), doSplit(), NuppelVideoRecorder::DoV4L1(), IPTVChannelFetcher::DownloadPlaylist(), AudioOutputDownmix::DownmixFrames(), VideoVisualSpectrum::Draw(), draw_line(), VideoOutputVDPAU::DrawSlice(), VideoOutputNullVDPAU::DrawSlice(), MythPainter::DrawTextPriv(), ClassicLogoDetector::DumpLogo(), SingleView::EffectCircleOut(), GLSingleView::EffectCube(), AudioOutputDigitalEncoder::Encode(), MSqlQuery::exec(), extract_pids(), AudioOutputSettings::FeaturesToString(), FileHash(), GuideGrid::fillChannelInfos(), MythUIText::FillCutMessage(), PlaybackSock::FillProgramInfo(), VideoDevice::fillSelectionsFromDir(), find_modeline(), SpliceDescriptor::FindAll(), MPEGDescriptor::FindAll(), findAllDBRSS(), findAllDBRSSByType(), findAllDBSearchGrabbers(), findAllDBTreeGrabbers(), findAllDBTreeGrabbersByHost(), MPEGDescriptor::FindBestMatches(), PrePostRollFlagger::findBreakInrange(), findByURL(), DTVRecorder::FindPSKeyFrames(), findSearchGrabberByCommand(), findTreeGrabberByCommand(), EITFixUp::FixBellExpressVu(), EITFixUp::FixDisneyChannel(), EITFixUp::FixPRO7(), EITFixUp::FixUnitymedia(), RTPDataPacket::GetContributingSource(), ChannelImporter::GetDBTransports(), VideoDisplayProfile::GetDefaultProfileName(), VideoDisplayProfile::GetDeinterlacers(), VAAPIDisplay::GetDisplay(), MythDB::GetError(), StorageGroup::GetFileInfoList(), RingBuffer::GetFilename(), StorageGroup::GetFirstDir(), ChannelInfo::GetFormatted(), NuppelDecoder::GetFrame(), ThumbFinder::getFrameImage(), MultipleStringStructure::GetFullString(), VideoOutput::GetImageRect(), RingBuffer::GetLastError(), DataDirectProcessor::GetLineupCacheAge(), WeatherSource::getLocationList(), GetMythXMLSearch(), GetNvidiaRates(), MythCommandLineParser::getOpt(), VideoDisplayProfile::GetOSDs(), CC608Reader::GetOutputText(), StreamHandler::GetPIDPriority(), GetPreferredSkipTypeCombinations(), ProfileItem::GetPriority(), CC608Decoder::GetProgramType(), DataDirectProcessor::GetRawLineup(), getResponse(), MythCommandLineParser::GetSettingsOverride(), VideoBuffers::GetStatus(), RingBuffer::GetSubtitleFilename(), GetVideoDirsByHost(), VideoDisplayProfile::GetVideoRenderers(), VideoOutWindow::GetVisibleOSDBounds(), gmtime_r(), ClassicCommDetector::go(), goom_update(), DataDirectProcessor::GrabLineupsFromCache(), grabThumbnail(), TV::HandleJumpToProgramAction(), TV::HandlePseudoLiveTVTimerEvent(), ifs_update(), LIRC::Init(), init_output_types(), init_skip_types(), NuppelVideoRecorder::InitFilters(), MarkedFiles::Invert(), RingBuffer::IsNearEnd(), WebSocketServer::IsRunning(), HttpServer::IsRunning(), line_filter_c_fast(), ProgramInfoCache::Load(), DeviceTypeSetting::Load(), PlaybackProfileItemConfig::Load(), VideoDisplayProfile::LoadDB(), TV::LoadDDMap(), FilterManager::LoadFilters(), MythUIGuideGrid::LoadImage(), main(), MythRenderVDPAU::MixAndRend(), MythPlayer::MythPlayer(), transport_scan_items_it_t::nextTransport(), AudioOutputALSA::OpenMixer(), transport_scan_items_it_t::operator++(), transport_scan_items_it_t::operator--(), OutputEvent::OutputEvent(), SSDPCache::OutputXML(), SpliceDescriptor::Parse(), MythCommandLineParser::Parse(), ContentAdvisoryDescriptor::Parse(), MPEGDescriptor::Parse(), parse_mode_string(), SpliceDescriptor::ParseAndExclude(), MPEGDescriptor::ParseAndExclude(), PList::ParseBinaryUnicode(), MythUIText::ParseElement(), MythUIImage::ParseElement(), MythFontProperties::ParseFromXml(), SpliceDescriptor::ParseOnlyInclude(), MPEGDescriptor::ParseOnlyInclude(), VideoOutputVDPAU::ParseOptions(), MythRect::parsePosition(), MythPoint::parsePosition(), XMLTVParser::parseProgram(), MythSystemLegacyUnix::ParseShell(), XMLParseBase::parseSize(), BufferedSocketDevice::PeerAddress(), PlaybackBox::PlaybackBox(), PlaybackBox::playSelectedPlaylist(), pretty_move(), print_comm_flag_output(), MHSendEvent::PrintArgs(), ClassicCommDetector::PrintFullMap(), PrintReportMap(), WeatherSource::ProbeInfo(), WeatherSource::ProbeTimeouts(), WeatherSource::ProbeTypes(), AudioConvert::Process(), MonoScope::process(), Spectrum::process(), MPEG2fixup::ProcessVideo(), DeleteMap::PushDeferred(), NCPrivate::Queue(), QueueCommFlagJob(), QueueJob(), MetadataDownload::readMXML(), MetadataDownload::readNFO(), MSqlQuery::Reconnect(), DeleteMap::Redo(), RemoteFillProgramInfo(), StreamHandler::RemovePIDFilter(), CommDetector2::reportState(), DataDirectStation::Reset(), DataDirectLineup::Reset(), DataDirectLineupMap::Reset(), DataDirectSchedule::Reset(), DataDirectProgram::Reset(), DataDirectProductionCrew::Reset(), DataDirectGenre::Reset(), VideoMetadataImp::Reset(), Parse::RFC822TimeToQDateTime(), RFC822TimeToQDateTime(), OpenGLVideo::RotateTextures(), V4L2encStreamHandler::run(), MetadataDownload::runGrabber(), MetaGrabberScript::RunGrabber(), RunMenu(), ChannelScanSM::ScanForChannels(), ScanMonitor::ScanPercentComplete(), ScreenSaverControl::ScreenSaverControl(), CC708Window::Scroll(), LCDServer::sendMessage(), set_on_input(), MythUIGuideGrid::SetArrow(), MusicMetadata::setArtistAndTrackFormats(), MythRenderOpenGL::SetBackground(), MythRenderOpenGL1::SetColor(), RTjpeg::SetIntra(), NuppelVideoRecorder::SetOptionsFromProfile(), RTjpeg::SetSize(), EITFixUp::SetUKSubtitle(), VideoOutputXv::SetXVPictureAttribute(), TV::ShowOSDAskAllow(), VideoOutputVDPAU::ShowPIP(), ChannelUtil::SortChannels(), ChannelRecPriority::SortList(), sub_read_line_ssa(), GLTexture::SwapWidthHeight(), TV::SwitchSource(), Ripper::switchTitlesAndArtists(), OpenGLVideo::TearDownDeinterlacer(), tentacle_free(), tentacle_new(), tentacle_update(), AudioStreamDescriptor::Text(), TV::timerEvent(), MythCommandLineParser::toMap(), ContentDescriptor::toString(), IPTVChannel::Tune(), TVRec::TuningFrequency(), DeleteMap::Undo(), InteractiveScreen::UpdateArea(), MythRemoteLineEdit::updateCycle(), DBEvent::UpdateDB(), MythNotificationScreen::UpdateMetaData(), ChannelScanSM::UpdateScanPercentCompleted(), PlaybackBox::UpdateUIRecGroupList(), NuppelVideoRecorder::WriteVideo(), CC608Decoder::XDSDecodeString(), CC608Decoder::XDSPacketParseChannel(), CC608Decoder::XDSPacketParseProgram(), xml_indent(), ZMServer::ZMServer(), zoomFilterFastRGB(), DataDirectProcessor::~DataDirectProcessor(), FilterManager::~FilterManager(), and ScreenSaverControl::~ScreenSaverControl().

◆ cycle

guint32 cycle
static

Definition at line 36 of file goom_core.c.

Referenced by goom_init(), goom_update(), ifs_update(), and pointFilter().

◆ states

Initial value:
= {
{1,0,0,1,4, 000, 100},
{1,0,0,1,1, 101, 140},
{1,0,0,1,2, 141, 200},
{0,1,0,1,2, 201, 260},
{0,1,0,1,0, 261, 330},
{0,1,1,1,4, 331, 400},
{0,0,1,1,5, 401, 450},
{0,0,1,1,1, 451, 510}
}

Definition at line 52 of file goom_core.c.

Referenced by goom_update(), BDRingBuffer::RestoreBDStateSnapshot(), and TVRec::StartRecording().

◆ curGState

GoomState* curGState = states+4

Definition at line 63 of file goom_core.c.

Referenced by goom_update().

◆ resolx

guint32 resolx

◆ resoly

guint32 resoly

Definition at line 65 of file goom_core.c.

Referenced by goom_init(), goom_set_resolution(), and setPixelRGB().

◆ buffsize

guint32 buffsize

Definition at line 65 of file goom_core.c.

Referenced by goom_init(), and goom_set_resolution().

◆ c_black_height

guint32 c_black_height = 0

Definition at line 65 of file goom_core.c.

Referenced by goom_init(), and goom_set_resolution().

◆ c_offset

guint32 c_offset = 0

Definition at line 65 of file goom_core.c.

Referenced by goom_init(), goom_set_resolution(), and goom_update().

◆ c_resoly

guint32 c_resoly = 0

◆ gmline1

GMLine* gmline1 = NULL
static

Definition at line 68 of file goom_core.c.

Referenced by goom_close(), goom_init(), goom_set_resolution(), and goom_update().

◆ gmline2

GMLine* gmline2 = NULL
static

Definition at line 69 of file goom_core.c.

Referenced by goom_close(), goom_init(), goom_set_resolution(), and goom_update().