FFmpeg
Data Structures | Macros | Functions | Variables
eia608_to_smpte436m.c File Reference
#include "bsf.h"
#include "bsf_internal.h"
#include "codec_id.h"
#include "libavcodec/smpte_436m.h"
#include "libavcodec/smpte_436m_internal.h"
#include "libavutil/avassert.h"
#include "libavutil/avutil.h"
#include "libavutil/error.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/macros.h"
#include "libavutil/opt.h"
#include "libavutil/rational.h"

Go to the source code of this file.

Data Structures

struct  EIA608ToSMPTE436MContext
 

Macros

#define OFFSET(x)   offsetof(EIA608ToSMPTE436MContext, x)
 
#define FLAGS   AV_OPT_FLAG_BSF_PARAM
 

Functions

static av_cold int ff_eia608_to_smpte436m_init (AVBSFContext *ctx)
 
static int ff_eia608_to_smpte436m_filter (AVBSFContext *ctx, AVPacket *out)
 

Variables

static const AVSmpte291mAnc8bit test_anc
 
static const AVOption options []
 
static const AVClass eia608_to_smpte436m_class
 
const FFBitStreamFilter ff_eia608_to_smpte436m_bsf
 

Macro Definition Documentation

◆ OFFSET

#define OFFSET (   x)    offsetof(EIA608ToSMPTE436MContext, x)

Definition at line 248 of file eia608_to_smpte436m.c.

◆ FLAGS

#define FLAGS   AV_OPT_FLAG_BSF_PARAM

Definition at line 249 of file eia608_to_smpte436m.c.

Function Documentation

◆ ff_eia608_to_smpte436m_init()

static av_cold int ff_eia608_to_smpte436m_init ( AVBSFContext ctx)
static

Definition at line 74 of file eia608_to_smpte436m.c.

◆ ff_eia608_to_smpte436m_filter()

static int ff_eia608_to_smpte436m_filter ( AVBSFContext ctx,
AVPacket out 
)
static

Definition at line 128 of file eia608_to_smpte436m.c.

Variable Documentation

◆ test_anc

const AVSmpte291mAnc8bit test_anc
static
Initial value:
= {
.did = 0x61,
.sdid_or_dbn = 0x01,
.data_count = 0x49,
.payload = {
0x96, 0x69, 0x49, 0x7F, 0x43, 0xFA, 0x8D, 0x72, 0xF4,
0xFC, 0x80, 0x80, 0xFD, 0x80, 0x80,
0xFA, 0x00, 0x00, 0xFA, 0x00, 0x00, 0xFA, 0x00, 0x00,
0xFA, 0x00, 0x00, 0xFA, 0x00, 0x00, 0xFA, 0x00, 0x00,
0xFA, 0x00, 0x00, 0xFA, 0x00, 0x00, 0xFA, 0x00, 0x00,
0xFA, 0x00, 0x00, 0xFA, 0x00, 0x00, 0xFA, 0x00, 0x00,
0xFA, 0x00, 0x00, 0xFA, 0x00, 0x00, 0xFA, 0x00, 0x00,
0xFA, 0x00, 0x00, 0xFA, 0x00, 0x00, 0xFA, 0x00, 0x00,
0x74, 0xFA, 0x8D, 0x81,
},
.checksum = 0xAB,
}

Definition at line 48 of file eia608_to_smpte436m.c.

Referenced by ff_eia608_to_smpte436m_init().

◆ options

const AVOption options[]
static
Initial value:
= {
{ "line_number", "line number -- you probably want 9 or 11", OFFSET(line_number), AV_OPT_TYPE_UINT, { .i64 = 9 }, 0, 0xFFFF, FLAGS },
{ "wrapping_type", "wrapping type", OFFSET(wrapping_type_opt), AV_OPT_TYPE_UINT, { .i64 = AV_SMPTE_436M_WRAPPING_TYPE_VANC_FRAME }, 0, 0xFF, FLAGS, .unit = "wrapping_type" },
{ "sample_coding", "payload sample coding", OFFSET(sample_coding_opt), AV_OPT_TYPE_UINT, { .i64 = AV_SMPTE_436M_PAYLOAD_SAMPLE_CODING_8BIT_LUMA }, 0, 0xFF, FLAGS, .unit = "sample_coding" },
{ "initial_cdp_sequence_cntr", "initial cdp_*_sequence_cntr value", OFFSET(cdp_sequence_cntr), AV_OPT_TYPE_UINT, { .i64 = 0 }, 0, 0xFFFF, FLAGS },
{ "cdp_frame_rate", "set the `cdp_frame_rate` fields", OFFSET(cdp_frame_rate), AV_OPT_TYPE_VIDEO_RATE, { .str = "30000/1001" }, 0, INT_MAX, FLAGS },
{ NULL },
}

Definition at line 251 of file eia608_to_smpte436m.c.

◆ eia608_to_smpte436m_class

const AVClass eia608_to_smpte436m_class
static
Initial value:
= {
.class_name = "eia608_to_smpte436m bitstream filter",
.item_name = av_default_item_name,
.option = options,
}

Definition at line 263 of file eia608_to_smpte436m.c.

◆ ff_eia608_to_smpte436m_bsf

const FFBitStreamFilter ff_eia608_to_smpte436m_bsf
Initial value:
= {
.p.name = "eia608_to_smpte436m",
.p.codec_ids = (const enum AVCodecID[]){ AV_CODEC_ID_EIA_608, AV_CODEC_ID_NONE },
.p.priv_class = &eia608_to_smpte436m_class,
.priv_data_size = sizeof(EIA608ToSMPTE436MContext),
}

Definition at line 270 of file eia608_to_smpte436m.c.

FLAGS
#define FLAGS
Definition: eia608_to_smpte436m.c:249
AV_CODEC_ID_EIA_608
@ AV_CODEC_ID_EIA_608
Definition: codec_id.h:572
options
static const AVOption options[]
Definition: eia608_to_smpte436m.c:251
AV_OPT_TYPE_VIDEO_RATE
@ AV_OPT_TYPE_VIDEO_RATE
Underlying C type is AVRational.
Definition: opt.h:315
AV_SMPTE_436M_PAYLOAD_SAMPLE_CODING_8BIT_LUMA
@ AV_SMPTE_436M_PAYLOAD_SAMPLE_CODING_8BIT_LUMA
used for VBI and ANC
Definition: smpte_436m.h:67
filter
void(* filter)(uint8_t *src, int stride, int qscale)
Definition: h263dsp.c:29
FF_SMPTE_436M_WRAPPING_TYPE_VANC_AVOPTIONS
#define FF_SMPTE_436M_WRAPPING_TYPE_VANC_AVOPTIONS(flags, unit_name)
Definition: smpte_436m_internal.h:28
FF_SMPTE_436M_PAYLOAD_SAMPLE_CODING_ANC_AVOPTIONS
#define FF_SMPTE_436M_PAYLOAD_SAMPLE_CODING_ANC_AVOPTIONS(flags, unit_name)
Definition: smpte_436m_internal.h:88
LIBAVUTIL_VERSION_INT
#define LIBAVUTIL_VERSION_INT
Definition: version.h:85
NULL
#define NULL
Definition: coverity.c:32
av_default_item_name
const char * av_default_item_name(void *ptr)
Return the context name.
Definition: log.c:241
eia608_to_smpte436m_class
static const AVClass eia608_to_smpte436m_class
Definition: eia608_to_smpte436m.c:263
AV_OPT_TYPE_UINT
@ AV_OPT_TYPE_UINT
Underlying C type is unsigned int.
Definition: opt.h:335
AVCodecID
AVCodecID
Identify the syntax and semantics of the bitstream.
Definition: codec_id.h:49
init
int(* init)(AVBSFContext *ctx)
Definition: dts2pts.c:368
ff_eia608_to_smpte436m_init
static av_cold int ff_eia608_to_smpte436m_init(AVBSFContext *ctx)
Definition: eia608_to_smpte436m.c:74
OFFSET
#define OFFSET(x)
Definition: eia608_to_smpte436m.c:248
ff_eia608_to_smpte436m_filter
static int ff_eia608_to_smpte436m_filter(AVBSFContext *ctx, AVPacket *out)
Definition: eia608_to_smpte436m.c:128
AV_CODEC_ID_NONE
@ AV_CODEC_ID_NONE
Definition: codec_id.h:50
EIA608ToSMPTE436MContext
Definition: eia608_to_smpte436m.c:35
AV_SMPTE_436M_WRAPPING_TYPE_VANC_FRAME
@ AV_SMPTE_436M_WRAPPING_TYPE_VANC_FRAME
Definition: smpte_436m.h:42