MythTV
master
|
#include "avformatdecoder.h"
#include <unistd.h>
#include <algorithm>
#include <cmath>
#include <cstdint>
#include <iostream>
#include "libavutil/avutil.h"
#include "libavutil/error.h"
#include "libavutil/log.h"
#include "libavcodec/avcodec.h"
#include "libavformat/avformat.h"
#include "libavformat/avio.h"
#include "libavformat/internal.h"
#include "libswscale/swscale.h"
#include "libavformat/isom.h"
#include "libavutil/imgutils.h"
#include "libavutil/display.h"
#include <QFileInfo>
#include <QStringDecoder>
#include "libmyth/audio/audiooutput.h"
#include "libmyth/audio/audiooutpututil.h"
#include "libmythbase/iso639.h"
#include "libmythbase/lcddevice.h"
#include "libmythbase/mythchrono.h"
#include "libmythbase/mythconfig.h"
#include "libmythbase/mythcorecontext.h"
#include "libmythbase/mythdate.h"
#include "libmythbase/mythdbcon.h"
#include "libmythbase/stringutil.h"
#include "libmythui/mythuihelper.h"
#include "mythtvexp.h"
#include "Bluray/mythbdbuffer.h"
#include "DVD/mythdvdbuffer.h"
#include "captions/cc608decoder.h"
#include "captions/cc708decoder.h"
#include "captions/subtitlereader.h"
#include "captions/teletextdecoder.h"
#include "io/mythmediabuffer.h"
#include "mheg/interactivetv.h"
#include "mpeg/atscdescriptors.h"
#include "mpeg/dvbdescriptors.h"
#include "mpeg/mpegtables.h"
#include "mythavutil.h"
#include "mythframe.h"
#include "mythhdrvideometadata.h"
#include "mythvideoprofile.h"
#include "remoteencoder.h"
Go to the source code of this file.
Macros | |
#define | V4L2_MPEG_VBI_IVTV_TELETEXT_B (1) |
Teletext (uses lines 6-22 for PAL, 10-21 for NTSC) More... | |
#define | V4L2_MPEG_VBI_IVTV_CAPTION_525 (4) |
Closed Captions (line 21 NTSC, line 22 PAL) More... | |
#define | V4L2_MPEG_VBI_IVTV_WSS_625 (5) |
Wide Screen Signal (line 20 NTSC, line 23 PAL) More... | |
#define | V4L2_MPEG_VBI_IVTV_VPS (7) |
Video Programming System (PAL) (line 16) More... | |
#define | LOC QString("AFD: ") |
#define | SEQ_PKT_ERR_MAX 50 |
#define | FAIL(errmsg) |
#define | SEQ_START 0x000001b3 |
#define | GOP_START 0x000001b8 |
#define | PICTURE_START 0x00000100 |
#define | SLICE_MIN 0x00000101 |
#define | SLICE_MAX 0x000001af |
#define | SEQ_END_CODE 0x000001b7 |
Functions | |
static int | cc608_parity (uint8_t byte) |
static int | cc608_good_parity (const CC608Parity &parity_table, uint16_t data) |
static void | cc608_build_parity_table (CC608Parity &parity_table) |
static QSize | get_video_dim (const AVCodecContext &ctx) |
static float | get_aspect (const AVCodecContext &ctx) |
static float | get_aspect (AVCParser &p) |
int | get_avf_buffer (struct AVCodecContext *c, AVFrame *pic, int flags) |
int | get_avf_buffer_dxva2 (struct AVCodecContext *c, AVFrame *pic, int flags) |
static bool | StreamHasRequiredParameters (AVCodecContext *Context, AVStream *Stream) |
static void | myth_av_log (void *ptr, int level, const char *fmt, va_list vl) |
static int | get_canonical_lang (const char *lang_cstr) |
static int64_t | lsb3full (int64_t lsb, int64_t base_ts, int lsb_bits) |
void | HandleStreamChange (void *data) |
static enum AVPixelFormat | get_format_dxva2 (struct AVCodecContext *, const enum AVPixelFormat *) |
static std::vector< int > | filter_lang (const sinfo_vec_t &tracks, int lang_key, const std::vector< int > &ftype) |
static std::vector< int > | filter_type (const sinfo_vec_t &tracks, AudioTrackType type) |
static void | extract_mono_channel (uint channel, AudioInfo *audioInfo, char *buffer, int bufsize) |
Variables | |
static const int | max_video_queue_size = 220 |
static bool | silence_ffmpeg_logging = false |
#define V4L2_MPEG_VBI_IVTV_TELETEXT_B (1) |
Teletext (uses lines 6-22 for PAL, 10-21 for NTSC)
Definition at line 47 of file avformatdecoder.cpp.
#define V4L2_MPEG_VBI_IVTV_CAPTION_525 (4) |
Closed Captions (line 21 NTSC, line 22 PAL)
Definition at line 48 of file avformatdecoder.cpp.
#define V4L2_MPEG_VBI_IVTV_WSS_625 (5) |
Wide Screen Signal (line 20 NTSC, line 23 PAL)
Definition at line 49 of file avformatdecoder.cpp.
#define V4L2_MPEG_VBI_IVTV_VPS (7) |
Video Programming System (PAL) (line 16)
Definition at line 50 of file avformatdecoder.cpp.
#define LOC QString("AFD: ") |
Definition at line 110 of file avformatdecoder.cpp.
#define SEQ_PKT_ERR_MAX 50 |
Definition at line 118 of file avformatdecoder.cpp.
#define FAIL | ( | errmsg | ) |
Definition at line 200 of file avformatdecoder.cpp.
#define SEQ_START 0x000001b3 |
Definition at line 3131 of file avformatdecoder.cpp.
#define GOP_START 0x000001b8 |
Definition at line 3132 of file avformatdecoder.cpp.
#define PICTURE_START 0x00000100 |
Definition at line 3133 of file avformatdecoder.cpp.
#define SLICE_MIN 0x00000101 |
Definition at line 3134 of file avformatdecoder.cpp.
#define SLICE_MAX 0x000001af |
Definition at line 3135 of file avformatdecoder.cpp.
#define SEQ_END_CODE 0x000001b7 |
Definition at line 3136 of file avformatdecoder.cpp.
|
static |
Definition at line 1642 of file avformatdecoder.cpp.
Referenced by cc608_build_parity_table().
|
static |
Definition at line 1672 of file avformatdecoder.cpp.
Referenced by AvFormatDecoder::DecodeCCx08(), and AvFormatDecoder::ProcessVBIDataPacket().
|
static |
Definition at line 1658 of file avformatdecoder.cpp.
Referenced by AvFormatDecoder::AvFormatDecoder().
|
static |
Definition at line 128 of file avformatdecoder.cpp.
Referenced by AvFormatDecoder::InitVideoCodec(), AvFormatDecoder::ProcessVideoFrame(), and AvFormatDecoder::ScanStreams().
|
static |
Definition at line 132 of file avformatdecoder.cpp.
Referenced by AvFormatDecoder::H264PreProcessPkt(), and AvFormatDecoder::InitVideoCodec().
|
static |
Definition at line 153 of file avformatdecoder.cpp.
int get_avf_buffer | ( | struct AVCodecContext * | c, |
AVFrame * | pic, | ||
int | flags | ||
) |
Definition at line 2766 of file avformatdecoder.cpp.
int get_avf_buffer_dxva2 | ( | struct AVCodecContext * | c, |
AVFrame * | pic, | ||
int | flags | ||
) |
Definition at line 2830 of file avformatdecoder.cpp.
|
static |
Definition at line 205 of file avformatdecoder.cpp.
Referenced by AvFormatDecoder::OpenFile().
|
static |
Definition at line 259 of file avformatdecoder.cpp.
Referenced by AvFormatDecoder::AvFormatDecoder().
|
static |
Definition at line 321 of file avformatdecoder.cpp.
Referenced by AvFormatDecoder::GetSubtitleLanguage(), and AvFormatDecoder::ScanRawTextCaptions().
|
static |
Definition at line 438 of file avformatdecoder.cpp.
Referenced by AvFormatDecoder::DoFastForward(), and AvFormatDecoder::NormalizeVideoTimecode().
void HandleStreamChange | ( | void * | data | ) |
Definition at line 920 of file avformatdecoder.cpp.
|
static |
Definition at line 1425 of file avformatdecoder.cpp.
|
static |
Definition at line 4279 of file avformatdecoder.cpp.
Referenced by AvFormatDecoder::AutoSelectAudioTrack().
|
static |
Definition at line 4293 of file avformatdecoder.cpp.
Referenced by AvFormatDecoder::AutoSelectAudioTrack().
|
static |
Definition at line 4597 of file avformatdecoder.cpp.
Referenced by AvFormatDecoder::ProcessAudioPacket().
|
static |
Definition at line 120 of file avformatdecoder.cpp.
Referenced by AvFormatDecoder::GetFrame().
Definition at line 126 of file avformatdecoder.cpp.
Referenced by AvFormatDecoder::FindStreamInfo(), and myth_av_log().