1244
#define OFFSET(x) offsetof(MpegMuxContext, x)
1245
#define E AV_OPT_FLAG_ENCODING_PARAM
1246
static const AVOption options[] = {
1247
{ "muxrate", NULL, OFFSET(mux_rate), AV_OPT_TYPE_INT, {0}, 0, INT_MAX, E },
1248
{ "preload", "Initial demux-decode delay in microseconds.", OFFSET(preload), AV_OPT_TYPE_INT, {500000}, 0, INT_MAX, E},
1252
#define MPEGENC_CLASS(flavor)\
1253
static const AVClass flavor ## _class = {\
1254
.class_name = #flavor " muxer",\
1255
.item_name = av_default_item_name,\
1256
.version = LIBAVUTIL_VERSION_INT,\
1229
1260
#if CONFIG_MPEG1SYSTEM_MUXER
1230
1262
AVOutputFormat ff_mpeg1system_muxer = {
1232
NULL_IF_CONFIG_SMALL("MPEG-1 System format"),
1235
sizeof(MpegMuxContext),
1237
CODEC_ID_MPEG1VIDEO,
1239
mpeg_mux_write_packet,
1264
.long_name = NULL_IF_CONFIG_SMALL("MPEG-1 System format"),
1265
.mime_type = "video/mpeg",
1266
.extensions = "mpg,mpeg",
1267
.priv_data_size = sizeof(MpegMuxContext),
1268
.audio_codec = CODEC_ID_MP2,
1269
.video_codec = CODEC_ID_MPEG1VIDEO,
1270
.write_header = mpeg_mux_init,
1271
.write_packet = mpeg_mux_write_packet,
1272
.write_trailer = mpeg_mux_end,
1273
.priv_class = &mpeg_class,
1243
1276
#if CONFIG_MPEG1VCD_MUXER
1244
1278
AVOutputFormat ff_mpeg1vcd_muxer = {
1246
NULL_IF_CONFIG_SMALL("MPEG-1 System format (VCD)"),
1249
sizeof(MpegMuxContext),
1251
CODEC_ID_MPEG1VIDEO,
1253
mpeg_mux_write_packet,
1280
.long_name = NULL_IF_CONFIG_SMALL("MPEG-1 System format (VCD)"),
1281
.mime_type = "video/mpeg",
1282
.priv_data_size = sizeof(MpegMuxContext),
1283
.audio_codec = CODEC_ID_MP2,
1284
.video_codec = CODEC_ID_MPEG1VIDEO,
1285
.write_header = mpeg_mux_init,
1286
.write_packet = mpeg_mux_write_packet,
1287
.write_trailer = mpeg_mux_end,
1288
.priv_class = &vcd_class,
1257
1291
#if CONFIG_MPEG2VOB_MUXER
1258
1293
AVOutputFormat ff_mpeg2vob_muxer = {
1260
NULL_IF_CONFIG_SMALL("MPEG-2 PS format (VOB)"),
1263
sizeof(MpegMuxContext),
1265
CODEC_ID_MPEG2VIDEO,
1267
mpeg_mux_write_packet,
1295
.long_name = NULL_IF_CONFIG_SMALL("MPEG-2 PS format (VOB)"),
1296
.mime_type = "video/mpeg",
1297
.extensions = "vob",
1298
.priv_data_size = sizeof(MpegMuxContext),
1299
.audio_codec = CODEC_ID_MP2,
1300
.video_codec = CODEC_ID_MPEG2VIDEO,
1301
.write_header = mpeg_mux_init,
1302
.write_packet = mpeg_mux_write_packet,
1303
.write_trailer = mpeg_mux_end,
1304
.priv_class = &vob_class,
1272
1308
/* Same as mpeg2vob_mux except that the pack size is 2324 */
1273
1309
#if CONFIG_MPEG2SVCD_MUXER
1274
1311
AVOutputFormat ff_mpeg2svcd_muxer = {
1276
NULL_IF_CONFIG_SMALL("MPEG-2 PS format (VOB)"),
1279
sizeof(MpegMuxContext),
1281
CODEC_ID_MPEG2VIDEO,
1283
mpeg_mux_write_packet,
1313
.long_name = NULL_IF_CONFIG_SMALL("MPEG-2 PS format (VOB)"),
1314
.mime_type = "video/mpeg",
1315
.extensions = "vob",
1316
.priv_data_size = sizeof(MpegMuxContext),
1317
.audio_codec = CODEC_ID_MP2,
1318
.video_codec = CODEC_ID_MPEG2VIDEO,
1319
.write_header = mpeg_mux_init,
1320
.write_packet = mpeg_mux_write_packet,
1321
.write_trailer = mpeg_mux_end,
1322
.priv_class = &svcd_class,
1288
1326
/* Same as mpeg2vob_mux except the 'is_dvd' flag is set to produce NAV pkts */
1289
1327
#if CONFIG_MPEG2DVD_MUXER
1290
1329
AVOutputFormat ff_mpeg2dvd_muxer = {
1292
NULL_IF_CONFIG_SMALL("MPEG-2 PS format (DVD VOB)"),
1295
sizeof(MpegMuxContext),
1297
CODEC_ID_MPEG2VIDEO,
1299
mpeg_mux_write_packet,
1331
.long_name = NULL_IF_CONFIG_SMALL("MPEG-2 PS format (DVD VOB)"),
1332
.mime_type = "video/mpeg",
1333
.extensions = "dvd",
1334
.priv_data_size = sizeof(MpegMuxContext),
1335
.audio_codec = CODEC_ID_MP2,
1336
.video_codec = CODEC_ID_MPEG2VIDEO,
1337
.write_header = mpeg_mux_init,
1338
.write_packet = mpeg_mux_write_packet,
1339
.write_trailer = mpeg_mux_end,
1340
.priv_class = &dvd_class,