MythTV  master
Classes | Functions | Variables
goom_core.cpp File Reference
#include "../config.h"
#include <algorithm>
#include <cstdio>
#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
 

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 constexpr gint32 STOP_SPEED { 128 }
 
static constexpr int16_t TIME_BTW_CHG { 300 }
 
static guint32pixel
 --------------------------------------------------—** More...
 
static guint32back
 
static guint32p1
 
static guint32p2
 
static guint32tmp
 
static guint32 cycle
 
static constexpr size_t STATES_NB { 8 }
 
static constexpr uint16_t STATES_RANGEMAX { 510 }
 
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
 

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

Referenced by goom_update().

◆ goom_init()

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

Definition at line 64 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 104 of file goom_core.cpp.

Referenced by Goom::resize().

◆ goom_update()

guint32* goom_update ( GoomDualData data,
int  forceMode 
)

Definition at line 133 of file goom_core.cpp.

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

◆ goom_close()

void goom_close ( )

Definition at line 845 of file goom_core.cpp.

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

◆ goom_rand()

guint32 goom_rand ( void  )

Definition at line 971 of file goom_core.cpp.

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

Variable Documentation

◆ STOP_SPEED

constexpr gint32 STOP_SPEED { 128 }
staticconstexpr

Definition at line 18 of file goom_core.cpp.

Referenced by goom_update().

◆ TIME_BTW_CHG

constexpr int16_t TIME_BTW_CHG { 300 }
staticconstexpr

Definition at line 19 of file goom_core.cpp.

Referenced by goom_update().

◆ pixel

guint32* pixel
static

◆ back

guint32* back
static

◆ p1

guint32* p1
static

◆ p2

guint32 * p2
static

◆ tmp

guint32 * tmp
static

Definition at line 26 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(), RSSSite::List::clear(), NewsSite::List::clear(), DVBPIDInfo::Close(), CommercialSkipMethod(), CommMethod::CommMethod(), MythVideoOutputGPU::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(), 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(), fillSelectionsFromDir(), VideoDevice::fillSelectionsFromDir(), SpliceDescriptor::FindAll(), MPEGDescriptor::FindAll(), findAllDBRSS(), findAllDBRSSByType(), findAllDBSearchGrabbers(), findAllDBTreeGrabbers(), findAllDBTreeGrabbersByHost(), MPEGDescriptor::FindBestMatches(), PrePostRollFlagger::findBreakInrange(), findByURL(), DTVRecorder::FindPSKeyFrames(), findSearchGrabberByCommand(), findTreeGrabberByCommand(), EITFixUp::FixBellExpressVu(), EITFixUp::FixDisneyChannel(), V2Channel::GetCommMethodList(), RTPDataPacket::GetContributingSource(), ChannelImporter::GetDBTransports(), MythVideoProfile::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(), MythVideoProfileItem::GetPriority(), CC608Decoder::GetProgramType(), getResponse(), MythCommandLineParser::GetSettingsOverride(), VideoBuffers::GetStatus(), MythMediaBuffer::GetSubtitleFilename(), GetVideoDirsByHost(), 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(), WebSocketServer::IsRunning(), HttpServer::IsRunning(), ProgramInfoCache::Load(), DeviceTypeSetting::Load(), PlaybackProfileItemConfig::Load(), MythVideoProfile::LoadDB(), MythUIGuideGrid::LoadImage(), MythEvent::log(), 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(), SpliceDescriptor::Parse(), MythCommandLineParser::Parse(), ContentAdvisoryDescriptor::Parse(), MPEGDescriptor::Parse(), SpliceDescriptor::ParseAndExclude(), MPEGDescriptor::ParseAndExclude(), MythBinaryPList::ParseBinaryUnicode(), MythUIText::ParseElement(), MythUIImage::ParseElement(), XMLTVParser::parseFile(), MythFontProperties::ParseFromXml(), HLSRingBuffer::ParseM3U8(), SpliceDescriptor::ParseOnlyInclude(), MPEGDescriptor::ParseOnlyInclude(), MythRect::parsePosition(), MythPoint::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(), Spectrogram::processUndisplayed(), Spectrum::processUndisplayed(), MPEG2fixup::ProcessVideo(), propsValueToString(), 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(), TV::ScheduleInputChange(), CC708Window::Scroll(), LCDServer::sendMessage(), set_on_input(), MythUIGuideGrid::SetArrow(), MusicMetadata::setArtistAndTrackFormats(), MythRenderOpenGL::SetBackground(), AudioOutputSettings::SetBestSupportedChannels(), NuppelVideoRecorder::SetOptionsFromProfile(), EITFixUp::SetUKSubtitle(), TV::ShowOSDAskAllow(), ChannelUtil::SortChannels(), ChannelRecPriority::SortList(), TV::SwitchSource(), Ripper::switchTitlesAndArtists(), tentacle_free(), tentacle_new(), tentacle_update(), AC3AudioStreamDescriptor::Text(), 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(), ZMServer::ZMServer(), and zoomFilterFastRGB().

◆ cycle

guint32 cycle
static

Definition at line 27 of file goom_core.cpp.

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

◆ STATES_NB

constexpr size_t STATES_NB { 8 }
staticconstexpr

Definition at line 41 of file goom_core.cpp.

◆ STATES_RANGEMAX

constexpr uint16_t STATES_RANGEMAX { 510 }
staticconstexpr

Definition at line 42 of file goom_core.cpp.

Referenced by goom_update().

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

Referenced by goom_update().

◆ curGState

const GoomState* curGState = &kStates[4]

Definition at line 54 of file goom_core.cpp.

Referenced by goom_update().

◆ resolx

guint32 resolx

◆ resoly

guint32 resoly

Definition at line 56 of file goom_core.cpp.

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

◆ buffsize

guint32 buffsize

Definition at line 56 of file goom_core.cpp.

Referenced by goom_init(), and goom_set_resolution().

◆ c_black_height

guint32 c_black_height = 0

Definition at line 56 of file goom_core.cpp.

Referenced by goom_init(), and goom_set_resolution().

◆ c_offset

guint32 c_offset = 0

Definition at line 56 of file goom_core.cpp.

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

◆ c_resoly

guint32 c_resoly = 0

Definition at line 56 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 59 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 60 of file goom_core.cpp.

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