webm2pes: Split super frames and packetize large frames.

- PES depacketizers don't want anything but simple encoded frames.
- Large in this case means frame size + size of PES header
  is > UINT16_MAX.

Change-Id: Ifb76caaa97a0dcf3600228a0cbc4d4f2533027a7
This commit is contained in:
Tom Finegan
2015-12-04 11:52:08 -08:00
parent faf85c227d
commit 852e1733a8
2 changed files with 170 additions and 37 deletions

View File

@@ -161,6 +161,8 @@ struct PesHeader {
// https://en.wikipedia.org/wiki/MPEG_transport_stream
class Webm2Pes {
public:
enum VideoCodec { VP8, VP9 };
Webm2Pes(const std::string& input_file, const std::string& output_file)
: input_file_name_(input_file), output_file_name_(output_file) {}
@@ -196,6 +198,9 @@ class Webm2Pes {
// Video track num in the WebM file.
int video_track_num_ = 0;
// Video codec reported by CodecName from Video TrackEntry.
VideoCodec codec_;
// Input timecode scale.
std::int64_t timecode_scale_ = 1000000;
};