diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2014-04-22 16:09:46 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2014-04-22 16:11:12 +0200 |
commit | f1c48c3a4de3d24e941322cadde225438c10ea7a (patch) | |
tree | 042335ac8640a91411d782d21cda26e98468e9db | |
parent | 60fcc19b9068614f25cf64dff5e4aa0e8dbff6a5 (diff) | |
download | ffmpeg-f1c48c3a4de3d24e941322cadde225438c10ea7a.tar.gz |
avformat/mpegtsenc: make the pes packet length omission optional
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | libavformat/mpegtsenc.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/libavformat/mpegtsenc.c b/libavformat/mpegtsenc.c index 9cc17ccb1d..a92f98c7bb 100644 --- a/libavformat/mpegtsenc.c +++ b/libavformat/mpegtsenc.c @@ -86,6 +86,8 @@ typedef struct MpegTSWrite { int flags; int copyts; int tables_version; + + int omit_video_pes_length } MpegTSWrite; /* a PES packet header is generated every DEFAULT_PES_HEADER_FREQ packets */ @@ -124,6 +126,8 @@ static const AVOption options[] = { offsetof(MpegTSWrite, copyts), AV_OPT_TYPE_INT, {.i64=-1}, -1, 1, AV_OPT_FLAG_ENCODING_PARAM}, { "tables_version", "set PAT, PMT and SDT version", offsetof(MpegTSWrite, tables_version), AV_OPT_TYPE_INT, {.i64=0}, 0, 31, AV_OPT_FLAG_ENCODING_PARAM}, + { "omit_video_pes_length", "Ommit the PES packet length for video packets", + offsetof(MpegTSWrite, omit_video_pes_length), AV_OPT_TYPE_INT, {.i64=1}, 0, 1, AV_OPT_FLAG_ENCODING_PARAM}, { NULL }, }; @@ -1066,7 +1070,7 @@ static void mpegts_write_pes(AVFormatContext *s, AVStream *st, } if (len > 0xffff) len = 0; - if (st->codec->codec_type == AVMEDIA_TYPE_VIDEO) { + if (ts->omit_video_pes_length && st->codec->codec_type == AVMEDIA_TYPE_VIDEO) { len = 0; } *q++ = len >> 8; |