IEC-61937 encapsulation of various formats, used by S/PDIF. More...
#include "avformat.h"
#include "avio_internal.h"
#include "spdif.h"
#include "libavcodec/ac3.h"
#include "libavcodec/dca.h"
#include "libavcodec/dcadata.h"
#include "libavcodec/aacadtsdec.h"
#include "libavutil/opt.h"
Go to the source code of this file.
IEC-61937 encapsulation of various formats, used by S/PDIF.
Definition in file spdifenc.c.
#define MAT_FRAME_SIZE 61424 |
Definition at line 391 of file spdifenc.c.
Referenced by spdif_header_truehd(), and spdif_write_header().
#define MAT_MIDDLE_CODE_OFFSET -4 |
Definition at line 393 of file spdifenc.c.
Referenced by spdif_header_truehd().
#define SPDIF_FLAG_BIGENDIAN 0x01 |
Definition at line 80 of file spdifenc.c.
Referenced by spdif_put_16(), and spdif_write_packet().
#define TRUEHD_FRAME_OFFSET 2560 |
Definition at line 392 of file spdifenc.c.
Referenced by spdif_header_truehd().
typedef struct IEC61937Context IEC61937Context |
static int spdif_dts4_subtype | ( | int | period | ) | [static] |
Definition at line 151 of file spdifenc.c.
Referenced by spdif_header_dts4().
static int spdif_header_aac | ( | AVFormatContext * | s, |
AVPacket * | pkt | ||
) | [static] |
Definition at line 347 of file spdifenc.c.
Referenced by spdif_write_header().
static int spdif_header_ac3 | ( | AVFormatContext * | s, |
AVPacket * | pkt | ||
) | [static] |
Definition at line 103 of file spdifenc.c.
Referenced by spdif_write_header().
static int spdif_header_dts | ( | AVFormatContext * | s, |
AVPacket * | pkt | ||
) | [static] |
Definition at line 241 of file spdifenc.c.
Referenced by spdif_write_header().
static int spdif_header_dts4 | ( | AVFormatContext * | s, |
AVPacket * | pkt, | ||
int | core_size, | ||
int | sample_rate, | ||
int | blocks | ||
) | [static] |
Definition at line 164 of file spdifenc.c.
Referenced by spdif_header_dts().
static int spdif_header_eac3 | ( | AVFormatContext * | s, |
AVPacket * | pkt | ||
) | [static] |
Definition at line 113 of file spdifenc.c.
Referenced by spdif_write_header().
static int spdif_header_mpeg | ( | AVFormatContext * | s, |
AVPacket * | pkt | ||
) | [static] |
Definition at line 324 of file spdifenc.c.
Referenced by spdif_write_header().
static int spdif_header_truehd | ( | AVFormatContext * | s, |
AVPacket * | pkt | ||
) | [static] |
Definition at line 395 of file spdifenc.c.
Referenced by spdif_write_header().
static av_always_inline void spdif_put_16 | ( | IEC61937Context * | ctx, |
AVIOContext * | pb, | ||
unsigned int | val | ||
) | [static] |
Definition at line 484 of file spdifenc.c.
Referenced by spdif_write_packet().
static int spdif_write_header | ( | AVFormatContext * | s | ) | [static] |
Definition at line 441 of file spdifenc.c.
static int spdif_write_packet | ( | struct AVFormatContext * | s, |
AVPacket * | pkt | ||
) | [static] |
Definition at line 493 of file spdifenc.c.
static int spdif_write_trailer | ( | AVFormatContext * | s | ) | [static] |
Definition at line 476 of file spdifenc.c.
const { ... } [static] |
class_name = "spdif" |
Definition at line 97 of file spdifenc.c.
{ .name = "spdif", .long_name = NULL_IF_CONFIG_SMALL("IEC 61937 (used on S/PDIF - IEC958)"), .extensions = "spdif", .priv_data_size = sizeof(IEC61937Context), .audio_codec = CODEC_ID_AC3, .video_codec = CODEC_ID_NONE, .write_header = spdif_write_header, .write_packet = spdif_write_packet, .write_trailer = spdif_write_trailer, .flags = AVFMT_NOTIMESTAMPS, .priv_class = &class, }
Definition at line 546 of file spdifenc.c.
item_name = av_default_item_name |
Definition at line 98 of file spdifenc.c.
enum IEC61937DataType mpeg_data_type[2][3] [static] |
{ { IEC61937_MPEG2_LAYER1_LSF, IEC61937_MPEG2_LAYER2_LSF, IEC61937_MPEG2_LAYER3_LSF }, { IEC61937_MPEG1_LAYER1, IEC61937_MPEG1_LAYER23, IEC61937_MPEG1_LAYER23 }, }
Definition at line 318 of file spdifenc.c.
Referenced by spdif_header_mpeg().
Definition at line 99 of file spdifenc.c.
{ { "spdif_flags", "IEC 61937 encapsulation flags", 0x42, AV_OPT_TYPE_FLAGS, {.dbl = 0}, 0, INT_MAX, AV_OPT_FLAG_ENCODING_PARAM, "spdif_flags" }, { "be", "output in big-endian format (for use as s16be)", 0, AV_OPT_TYPE_CONST, {.dbl = SPDIF_FLAG_BIGENDIAN}, 0, INT_MAX, AV_OPT_FLAG_ENCODING_PARAM, "spdif_flags" }, { "dtshd_rate", "mux complete DTS frames in HD mode at the specified IEC958 rate (in Hz, default 0=disabled)", 0x42, AV_OPT_TYPE_INT, {.dbl = 0}, 0, 768000, AV_OPT_FLAG_ENCODING_PARAM }, { "dtshd_fallback_time", "min secs to strip HD for after an overflow (-1: till the end, default 60)", 0x42, AV_OPT_TYPE_INT, {.dbl = 60}, -1, INT_MAX, AV_OPT_FLAG_ENCODING_PARAM }, { NULL }, }
Definition at line 88 of file spdifenc.c.
Definition at line 100 of file spdifenc.c.