FFmpeg
Loading...
Searching...
No Matches
tty.c File Reference

Tele-typewriter demuxer. More...

#include "libavutil/intreadwrite.h"
#include "libavutil/avstring.h"
#include "libavutil/log.h"
#include "libavutil/dict.h"
#include "libavutil/opt.h"
#include "libavutil/parseutils.h"
#include "avformat.h"
#include "demux.h"
#include "internal.h"
#include "sauce.h"

Go to the source code of this file.

Data Structures

struct  TtyDemuxContext
 

Macros

#define GET_EFI_META(name, size)
 
#define OFFSET(x)
 
#define DEC   AV_OPT_FLAG_DECODING_PARAM
 

Functions

static int isansicode (int x)
 
static int read_probe (const AVProbeData *p)
 
static int efi_read (AVFormatContext *avctx, uint64_t start_pos)
 Parse EFI header.
 
static int read_header (AVFormatContext *avctx)
 
static int read_packet (AVFormatContext *avctx, AVPacket *pkt)
 

Variables

static const char tty_extensions [31] = "ans,art,asc,diz,ice,nfo,txt,vt"
 
static const AVOption options []
 
static const AVClass tty_demuxer_class
 
const FFInputFormat ff_tty_demuxer
 

Detailed Description

Tele-typewriter demuxer.

Definition in file tty.c.

Macro Definition Documentation

◆ GET_EFI_META

#define GET_EFI_META ( name,
size )
Value:
len = avio_r8(pb); \
return -1; \
if (avio_read(pb, buf, size) == size) { \
buf[len] = 0; \
av_dict_set(&avctx->metadata, name, buf, 0); \
}
int avio_read(AVIOContext *s, unsigned char *buf, int size)
Read size bytes from AVIOContext into buf.
Definition aviobuf.c:615
int avio_r8(AVIOContext *s)
Definition aviobuf.c:606
const char * name
Definition qsvenc.c:142
int size
int len

Referenced by efi_read().

◆ OFFSET

#define OFFSET ( x)
Value:
offsetof(TtyDemuxContext, x)

Definition at line 169 of file tty.c.

◆ DEC

#define DEC   AV_OPT_FLAG_DECODING_PARAM

Definition at line 170 of file tty.c.

Function Documentation

◆ isansicode()

static int isansicode ( int x)
static

Definition at line 38 of file tty.c.

Referenced by read_probe().

◆ read_probe()

static int read_probe ( const AVProbeData * p)
static

Definition at line 53 of file tty.c.

◆ efi_read()

static int efi_read ( AVFormatContext * avctx,
uint64_t start_pos )
static

Parse EFI header.

Definition at line 76 of file tty.c.

Referenced by read_header().

◆ read_header()

static int read_header ( AVFormatContext * avctx)
static

Definition at line 103 of file tty.c.

◆ read_packet()

static int read_packet ( AVFormatContext * avctx,
AVPacket * pkt )
static

Definition at line 142 of file tty.c.

Variable Documentation

◆ tty_extensions

const char tty_extensions[31] = "ans,art,asc,diz,ice,nfo,txt,vt"
static

Definition at line 43 of file tty.c.

Referenced by read_probe().

◆ options

const AVOption options[]
static
Initial value:
= {
{ "chars_per_frame", "", 0x42 , AV_OPT_TYPE_INT, {.i64 = 6000}, 1, INT_MAX, AV_OPT_FLAG_DECODING_PARAM},
{ "video_size", "A string describing frame size, such as 640x480 or hd720.", OFFSET(width), AV_OPT_TYPE_IMAGE_SIZE, {.str = NULL}, 0, 0, DEC },
{ "framerate", "", OFFSET(framerate), AV_OPT_TYPE_VIDEO_RATE, {.str = "25"}, 0, INT_MAX, DEC },
{ NULL },
}
#define NULL
Definition coverity.c:32
#define OFFSET(x)
#define AV_OPT_FLAG_DECODING_PARAM
A generic parameter which can be set by the user for demuxing or decoding.
Definition opt.h:355
@ AV_OPT_TYPE_IMAGE_SIZE
Underlying C type is two consecutive integers.
Definition opt.h:302
@ AV_OPT_TYPE_VIDEO_RATE
Underlying C type is AVRational.
Definition opt.h:314
@ AV_OPT_TYPE_INT
Underlying C type is int.
Definition opt.h:258
#define DEC
Definition librsvgdec.c:149
float framerate
Definition av1_levels.c:29
#define width
Definition dsp.h:89

Definition at line 171 of file tty.c.

◆ tty_demuxer_class

const AVClass tty_demuxer_class
static
Initial value:
= {
.class_name = "TTY demuxer",
.item_name = av_default_item_name,
.option = options,
}
const char * av_default_item_name(void *ptr)
Return the context name.
Definition log.c:241
#define LIBAVUTIL_VERSION_INT
Definition version.h:85

Definition at line 178 of file tty.c.

◆ ff_tty_demuxer

const FFInputFormat ff_tty_demuxer
Initial value:
= {
.p.name = "tty",
.p.long_name = NULL_IF_CONFIG_SMALL("Tele-typewriter"),
.p.extensions = tty_extensions,
.p.priv_class = &tty_demuxer_class,
.p.flags = AVFMT_GENERIC_INDEX,
.priv_data_size = sizeof(TtyDemuxContext),
}
#define AVFMT_GENERIC_INDEX
Use generic index building code.
Definition avformat.h:499
static int read_packet(void *opaque, uint8_t *buf, int buf_size)
static int read_probe(const AVProbeData *p)
Definition cdg.c:30
static int read_header(FFV1Context *f, RangeCoder *c)
Definition ffv1dec.c:578
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification.
Definition internal.h:88
static const AVClass tty_demuxer_class
Definition tty.c:178
static const char tty_extensions[31]
Definition tty.c:43

Definition at line 185 of file tty.c.