|
vdr-plugin-softhddevice-drm-gles 1.6.4-d0291bb
|
Miscellaneous Helper Functions. More...
Classes | |
| struct | PlayEvent |
| struct | PauseEvent |
| struct | StopEvent |
| struct | TrickSpeedEvent |
| struct | StillPictureEvent |
| struct | DetachEvent |
| struct | AttachEvent |
| struct | BufferUnderrunEvent |
| struct | BufferingThresholdReachedEvent |
| struct | PipEvent |
| struct | ScheduleResyncAtPtsMsEvent |
| struct | ResyncEvent |
| class | IEventReceiver |
| Event Receiver. More... | |
| class | cBufferFillLevelLowPassFilter |
| Fill Level Low Pass Filter. More... | |
| class | cGrabBuffer |
| Grabbing Buffer. More... | |
| class | cSoftHdGrab |
| Grabbing Processor. More... | |
| class | cH264Parser |
| H.264 Parser. More... | |
| class | cHardwareDevice |
| Hardware device. More... | |
| class | cJitterTracker |
| Jitter Tracker. More... | |
| class | cSoftHdLogger |
| Logger. More... | |
| struct | CodecInfo |
| Codec Information Structure. More... | |
| class | cPes |
| PES Packet Parser. More... | |
| class | cPesVideo |
| Video PES Packet Parser. More... | |
| class | cPesAudio |
| Audio PES Packet Parser. More... | |
| class | cPtsTrackingBuffer |
| PTS Tracking Buffer. More... | |
| class | cReassemblyBuffer |
| Base Class for Stream Reassembly Buffers. More... | |
| class | cReassemblyBufferVideo |
| Video Stream Reassembly Buffer. More... | |
| struct | SyncWordInfo |
| Information about a detected audio sync word. More... | |
| class | cReassemblyBufferAudio |
| Audio Stream Reassembly Buffer. More... | |
| class | cPool< T > |
| Pool Implementation Template Class. More... | |
| class | cQueue< T > |
| Thread-safe Queue. More... | |
Macros | |
| #define | OPAQUE 0xff |
| #define | TRANSPARENT 0x00 |
| #define | UNMULTIPLY(color, alpha) ((0xff * color) / alpha) |
| #define | BLEND(back, front, alpha) ((front * alpha) + (back * (255 - alpha))) / 255 |
| #define | AV_LOGLEVEL AV_LOG_INFO |
| FFmpeg log level. | |
| #define | LOGFATAL cSoftHdLogger::GetLogger()->LogFatal |
| log to LOG_ERR and abort | |
| #define | LOGERROR cSoftHdLogger::GetLogger()->LogError |
| log to LOG_ERR | |
| #define | LOGWARNING cSoftHdLogger::GetLogger()->LogWarning |
| log to LOG_WARN | |
| #define | LOGINFO cSoftHdLogger::GetLogger()->LogInfo |
| log to LOG_INFO | |
| #define | LOGDEBUG cSoftHdLogger::GetLogger()->LogDebug |
| log to LOG_DEBUG | |
| #define | LOGDEBUG2 cSoftHdLogger::GetLogger()->LogDebug2 |
| log to LOG_DEBUG and add a prefix | |
| #define | GL_CHECK(stmt) |
| glCheckError macro | |
| #define | EGL_CHECK(stmt) |
| eglCheckError macro | |
| #define | AV_NOPTS_VALUE INT64_C(0x8000000000000000) |
| #define | VIDEO_SURFACES_MAX 3 |
| maximum video surfaces kept by the filter and render queues | |
| #define | av_err2str(err) av_err2string(err) |
Typedefs | |
| using | Event = std::variant< PlayEvent, PauseEvent, StopEvent, TrickSpeedEvent, StillPictureEvent, DetachEvent, AttachEvent, BufferUnderrunEvent, BufferingThresholdReachedEvent, PipEvent, ScheduleResyncAtPtsMsEvent, ResyncEvent > |
Variables | |
| static const std::map< AVCodecID, CodecInfo > | AudioCodecMap |
| Map of Audio Codec Information. | |
Miscellaneous Helper Functions.
| #define AV_LOGLEVEL AV_LOG_INFO |
eglCheckError macro
| #define LOGDEBUG cSoftHdLogger::GetLogger()->LogDebug |
| #define LOGDEBUG2 cSoftHdLogger::GetLogger()->LogDebug2 |
| #define LOGERROR cSoftHdLogger::GetLogger()->LogError |
| #define LOGFATAL cSoftHdLogger::GetLogger()->LogFatal |
| #define LOGINFO cSoftHdLogger::GetLogger()->LogInfo |
| #define LOGWARNING cSoftHdLogger::GetLogger()->LogWarning |
| #define VIDEO_SURFACES_MAX 3 |
Hardware dependent quirks.
Definition at line 27 of file hardwaredevice.h.
Logger Flags.
depending on the flag used in the macro, logging is enabled and gets a nice prefix in the syslog.
H.264 Nal unit types.
| Enumerator | |
|---|---|
| NALU_TYPE_NON_IDR | |
| NALU_TYPE_PART_A | |
| NALU_TYPE_PART_B | |
| NALU_TYPE_PART_C | |
| NALU_TYPE_IDR | |
| NALU_TYPE_SEI | |
| NALU_TYPE_SPS | |
| NALU_TYPE_PPS | |
| NALU_TYPE_AUD | |
Definition at line 28 of file h264parser.h.
|
static |
Blend two images.
Both, front and back image data have to be same size front is the OSD (ARGB) back is the video (RGB) result is RGB
| [out] | result | pointer to the resulting image data |
| [in] | front | pointer to the upper image data |
| [in] | back | pointer to the lower image data |
| [in] | width | image width |
| [in] | height | image height |
Definition at line 204 of file grab.cpp.
References BLEND, OPAQUE, TRANSPARENT, and UNMULTIPLY.
Referenced by cSoftHdGrab::ProcessGrab().
Workaround for av_err2str() not working with C++.
|
static |
Blit the video on black background.
| [in] | dst | pointer to the destination video |
| [in] | src | pointer to the source video |
| [in] | dstW | destination width of the image |
| [in] | dstH | destination height of the image |
| [in] | dstX | x offset of the (already scaled) video on the image |
| [in] | dstY | y offset of the (already scaled) video on the image |
| [in] | srcW | source video width |
| [in] | srcH | source video height |
Definition at line 265 of file grab.cpp.
References L_GRAB, and LOGDEBUG2.
Referenced by cSoftHdGrab::ProcessGrab().
|
static |
Convert a DRM buffer to rgb format image.
Conversion is done with ffmpegs swscale
| [in] | buf | pointer to the source drm buffer struct |
| [out] | size | size of the return data |
| [in] | dstW | width of the returned image |
| [in] | dstH | height of the returned image |
| [in] | dstPixFmt | pixel format of the returned image |
Definition at line 75 of file grab.cpp.
References DrmFormatToAVFormat(), L_GRAB, LOGDEBUG2, and LOGERROR.
Referenced by cSoftHdGrab::GetGrab().
Call rgb to jpeg for C Plugin.
Definition at line 286 of file grab.cpp.
Referenced by cSoftHdGrab::ProcessGrab().
| enum AVPixelFormat DrmFormatToAVFormat | ( | cDrmBuffer * | buf | ) |
Convert a DRM format to a ffmpeg AV format.
Definition at line 45 of file grab.cpp.
Referenced by BufToRgb().
Check, if this is an interlaced frame.
| frame | AVFrame |
Definition at line 86 of file misc.h.
Referenced by cVideoFilter::Action(), cVideoDecoder::ReceiveFrame(), and cVideoStream::RenderFrame().
H.264 Parser Helper to check for a 0x000001 or 0x00000001 start code.
| [in] | data | pointer to the data stream |
| [in] | offset | start parsing at offset |
| [in] | size | size of data |
| [out] | startCodeLength | start code length (3 or 4) |
| true | if a valid start code was detected |
| false | no valid startcode was detected |
Definition at line 42 of file h264parser.cpp.
References ReadBytes().
Referenced by cH264Parser::cH264Parser(), cH264Parser::GetPPSOffset(), cH264Parser::GetSliceOffset(), and cH264Parser::GetSPSOffset().
H.264 Parser Helper to get the nal unit type.
| data | pointer to the data stream |
| offset | start parsing at offset |
| startCodeLength | start code length (3 or 4) |
Definition at line 68 of file h264parser.cpp.
Referenced by cH264Parser::cH264Parser(), cH264Parser::GetPPSOffset(), cH264Parser::GetSliceOffset(), and cH264Parser::GetSPSOffset().
Return count amount of bytes from data
Definition at line 149 of file misc.h.
Referenced by cReassemblyBufferVideo::HasLeadingZero(), cPes::IsHeaderValid(), isValidStartCode(), and cReassemblyBufferVideo::ParseCodecHeader().
Helper function to read a line from a given file.
| [out] | buf | pointer to the data |
| [out] | size | size of the data at buf |
| [in] | file | the filepointer to be read on |
Definition at line 46 of file hardwaredevice.h.
References LOGERROR.
Referenced by cHardwareDevice::cHardwareDevice().
|
static |
Scale an image.
Conversion is done with ffmpegs swscale
| [in] | src | pointer to the source data |
| [out] | size | size of the return data |
| [in] | srcW | source width |
| [in] | srcH | source height |
| [in] | dstW | width of the returned image |
| [in] | dstH | height of the returned image |
Definition at line 153 of file grab.cpp.
References L_GRAB, LOGDEBUG2, and LOGERROR.
Referenced by cSoftHdGrab::ProcessGrab().
Nice time-stamp string.
| ts | time stamp |
| divisor | optional divisor for the given timestamp int (must be > 0) |
Definition at line 127 of file misc.h.
References AV_NOPTS_VALUE.
Referenced by cVideoRender::DisplayFrame(), cSoftHdAudio::DropSamplesOlderThanPtsMs(), cSoftHdAudio::Enqueue(), cSoftHdDevice::IsBufferingThresholdReached(), cVideoRender::LogDroppedDuped(), cVideoRender::PageFlip(), cVideoDecoder::ReceiveFrame(), and cVideoDecoder::SendPacket().
Map of Audio Codec Information.
Key: AVCodecID Value: CodecInfo with sync word detection and frame size calculation lambdas
Definition at line 47 of file pes.cpp.
Referenced by cReassemblyBufferAudio::DetectCodecFromSyncWord(), cReassemblyBufferAudio::FindTwoConsecutiveFramesWithSameSyncWord(), cReassemblyBufferAudio::GetFrameSizeForCodec(), and cReassemblyBufferAudio::PopAvPacket().