MythTV  master
Classes | Macros | Functions | Variables
goom_core.cpp File Reference
#include "../config.h"
#include <cinttypes>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <random>
#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.cpp:

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 (GoomDualData &data, int forceMode)
 
void goom_close ()
 
guint32 goom_rand (void)
 

Variables

static guint32pixel
 --------------------------------------------------—** More...
 
static guint32back
 
static guint32p1
 
static guint32p2
 
static guint32tmp
 
static guint32 cycle
 
const std::array< const GoomState, STATES_NBkStates
 
const GoomStatecurGState = &kStates[4]
 
guint32 resolx
 
guint32 resoly
 
guint32 buffsize
 
guint32 c_black_height = 0
 
guint32 c_offset = 0
 
guint32 c_resoly = 0
 
static GMLinegmline1 = nullptr
 
static GMLinegmline2 = nullptr
 

Macro Definition Documentation

◆ STOP_SPEED

#define STOP_SPEED   128

Definition at line 22 of file goom_core.cpp.

◆ TIME_BTW_CHG

#define TIME_BTW_CHG   300

Definition at line 24 of file goom_core.cpp.

◆ STATES_NB

#define STATES_NB   8

Definition at line 46 of file goom_core.cpp.

◆ STATES_RANGEMAX

#define STATES_RANGEMAX   510

Definition at line 47 of file goom_core.cpp.

◆ 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 869 of file goom_core.cpp.

Referenced by goom_update().

◆ goom_init()

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

Definition at line 69 of file goom_core.cpp.

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

◆ goom_set_resolution()

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

Definition at line 108 of file goom_core.cpp.

Referenced by Goom::resize().

◆ goom_update()

guint32* goom_update ( GoomDualData data,
int  forceMode 
)

Definition at line 137 of file goom_core.cpp.

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

◆ goom_close()

void goom_close ( void  )

Definition at line 855 of file goom_core.cpp.

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

◆ goom_rand()

guint32 goom_rand ( void  )

Definition at line 981 of file goom_core.cpp.

Referenced by goom_init(), init_ifs(), and tentacle_new().

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 31 of file goom_core.cpp.

Referenced by MPEG2fixup::add2x33(), EITHelper::AddEIT(), Scheduler::AddNewRecords(), Scheduler::AddNotListed(), MPEG2fixup::AddRangeList(), BufferedSocketDevice::Address(), AudioBuffer::appendData(), MythVideoBounds::ApplyDBScaleAndMove(), MythVideoBounds::ApplyManualScaleAndMove(), NuppelVideoRecorder::AudioInit(), DecoderBase::AutoSelectTrack(), NetTree::BuildGenericTree(), VideoListImp::buildGroupList(), FormattedTextLine::CalcSize(), DailyHouseKeeperTask::CalculateWindow(), TV::ChangeChannel(), V4LChannel::ChangePictureAttribute(), TV::ChannelEditXDSFill(), NewsSite::List::clear(), RSSSite::List::clear(), DVBPIDInfo::Close(), CommercialSkipMethod(), CommMethod::CommMethod(), MythVideoOutput::Create(), MHIBitmap::CreateFromMPEG(), ImageManagerFe::CreateImport(), createTempFile(), ChannelEditor::customEvent(), ManualSchedule::dateChanged(), decode(), AVCParser::decode_SPS(), delete_sock(), SubtitleScreen::DisplayAVSubtitles(), SubtitleScreen::DisplayDVDButton(), DoFlagCommercials(), StatusBox::doListingsStatus(), ScreenSetup::doListSelect(), StatusBox::doLogEntries(), LocationDialog::doSearch(), NuppelVideoRecorder::DoV4L1(), IPTVChannelFetcher::DownloadPlaylist(), AudioOutputDownmix::DownmixFrames(), VideoVisualSpectrum::Draw(), draw_line(), MythPainter::DrawTextPriv(), ClassicLogoDetector::DumpLogo(), AudioOutputDigitalEncoder::Encode(), MSqlQuery::exec(), extract_pids(), AudioOutputSettings::FeaturesToString(), FileHash(), GuideGrid::fillChannelInfos(), MythUIText::FillCutMessage(), PlaybackSock::FillProgramInfo(), VideoDevice::fillSelectionsFromDir(), MPEGDescriptor::FindAll(), SpliceDescriptor::FindAll(), findAllDBRSS(), findAllDBRSSByType(), findAllDBSearchGrabbers(), findAllDBTreeGrabbers(), findAllDBTreeGrabbersByHost(), MPEGDescriptor::FindBestMatches(), PrePostRollFlagger::findBreakInrange(), findByURL(), DTVRecorder::FindPSKeyFrames(), findSearchGrabberByCommand(), findTreeGrabberByCommand(), RTPDataPacket::GetContributingSource(), ChannelImporter::GetDBTransports(), VideoDisplayProfile::GetDefaultProfileName(), CardUtil::GetDeviceName(), MythDB::GetError(), StorageGroup::GetFileInfoList(), MythMediaBuffer::GetFilename(), StorageGroup::GetFirstDir(), ChannelInfo::GetFormatted(), ThumbFinder::getFrameImage(), MultipleStringStructure::GetFullString(), MythMediaBuffer::GetLastError(), WeatherSource::getLocationList(), GetMythXMLSearch(), MythCommandLineParser::getOpt(), CC608Reader::GetOutputText(), StreamHandler::GetPIDPriority(), GetPreferredSkipTypeCombinations(), ProfileItem::GetPriority(), CC608Decoder::GetProgramType(), getResponse(), MythCommandLineParser::GetSettingsOverride(), VideoBuffers::GetStatus(), MythMediaBuffer::GetSubtitleFilename(), GetVideoDirsByHost(), VideoDisplayProfile::GetVideoRenderers(), gmtime_r(), ClassicCommDetector::go(), goom_update(), grabThumbnail(), MythVDPAUHelper::H264DecodeCheck(), TV::HandleJumpToProgramAction(), TV::HandlePseudoLiveTVTimerEvent(), ifs_update(), LIRC::Init(), init_output_types(), init_skip_types(), MarkedFiles::Invert(), MythMediaBuffer::IsNearEnd(), HttpServer::IsRunning(), WebSocketServer::IsRunning(), ProgramInfoCache::Load(), DeviceTypeSetting::Load(), PlaybackProfileItemConfig::Load(), VideoDisplayProfile::LoadDB(), MythUIGuideGrid::LoadImage(), main(), mhlog_fn(), MythIndexBufferVulkan::MythIndexBufferVulkan(), 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(), MPEGDescriptor::Parse(), SpliceDescriptor::Parse(), MythCommandLineParser::Parse(), ContentAdvisoryDescriptor::Parse(), MPEGDescriptor::ParseAndExclude(), SpliceDescriptor::ParseAndExclude(), PList::ParseBinaryUnicode(), MythUIImage::ParseElement(), MythUIText::ParseElement(), XMLTVParser::parseFile(), MythFontProperties::ParseFromXml(), MPEGDescriptor::ParseOnlyInclude(), SpliceDescriptor::ParseOnlyInclude(), MythPoint::parsePosition(), MythRect::parsePosition(), 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(), MonoScope::process(), MPEG2fixup::ProcessVideo(), DeleteMap::PushDeferred(), NCPrivate::Queue(), QueueCommFlagJob(), QueueJob(), MetadataDownload::readMXML(), MetadataDownload::readNFO(), MSqlQuery::Reconnect(), DeleteMap::Redo(), RemoteFillProgramInfo(), StreamHandler::RemovePIDFilter(), CommDetector2::reportState(), VideoMetadataImp::Reset(), Parse::RFC822TimeToQDateTime(), RFC822TimeToQDateTime(), V4L2encStreamHandler::run(), MetadataDownload::runGrabber(), MetaGrabberScript::RunGrabber(), RunMenu(), ChannelScanSM::ScanForChannels(), ScanMonitor::ScanPercentComplete(), CC708Window::Scroll(), LCDServer::sendMessage(), set_on_input(), MythUIGuideGrid::SetArrow(), MusicMetadata::setArtistAndTrackFormats(), MythRenderOpenGL::SetBackground(), RTjpeg::SetIntra(), NuppelVideoRecorder::SetOptionsFromProfile(), RTjpeg::SetSize(), TV::ShowOSDAskAllow(), ChannelUtil::SortChannels(), ChannelRecPriority::SortList(), sub_read_line_ssa(), TV::SwitchSource(), tentacle_free(), tentacle_new(), tentacle_update(), AudioStreamDescriptor::Text(), TV::timerEvent(), MythCommandLineParser::toMap(), ContentDescriptor::toString(), IPTVChannel::Tune(), TVRec::TuningFrequency(), DeleteMap::Undo(), ELD::update_eld(), InteractiveScreen::UpdateArea(), DBEvent::UpdateDB(), MythNotificationScreen::UpdateMetaData(), ChannelScanSM::UpdateScanPercentCompleted(), PlaybackBox::UpdateUIRecGroupList(), NuppelVideoRecorder::WriteVideo(), CC608Decoder::XDSDecodeString(), CC608Decoder::XDSPacketParseChannel(), CC608Decoder::XDSPacketParseProgram(), xml_indent(), ZMServer::ZMServer(), and zoomFilterFastRGB().

◆ cycle

guint32 cycle
static

Definition at line 32 of file goom_core.cpp.

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

◆ kStates

const std::array<const GoomState,STATES_NB> kStates
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 48 of file goom_core.cpp.

Referenced by goom_update().

◆ curGState

const GoomState* curGState = &kStates[4]

Definition at line 59 of file goom_core.cpp.

Referenced by goom_update().

◆ resolx

guint32 resolx

◆ resoly

guint32 resoly

Definition at line 61 of file goom_core.cpp.

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

◆ buffsize

guint32 buffsize

Definition at line 61 of file goom_core.cpp.

Referenced by goom_init(), and goom_set_resolution().

◆ c_black_height

guint32 c_black_height = 0

Definition at line 61 of file goom_core.cpp.

Referenced by goom_init(), and goom_set_resolution().

◆ c_offset

guint32 c_offset = 0

Definition at line 61 of file goom_core.cpp.

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

◆ c_resoly

guint32 c_resoly = 0

Definition at line 61 of file goom_core.cpp.

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

◆ gmline1

GMLine* gmline1 = nullptr
static

Definition at line 64 of file goom_core.cpp.

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

◆ gmline2

GMLine* gmline2 = nullptr
static

Definition at line 65 of file goom_core.cpp.

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