avformat/movenc: fix remuxing eia-608 into mov from other containers

This commit is contained in:
Paul B Mahol 2020-06-14 18:20:14 +02:00
parent f91906973c
commit 76ad8a568f
1 changed files with 16 additions and 0 deletions

View File

@ -5582,6 +5582,22 @@ int ff_mov_write_packet(AVFormatContext *s, AVPacket *pkt)
goto end;
avio_write(pb, pkt->data, size);
#endif
} else if (par->codec_id == AV_CODEC_ID_EIA_608) {
size = 8;
for (int i = 0; i < pkt->size; i += 3) {
if (pkt->data[i] == 0xFC) {
size += 2;
}
}
avio_wb32(pb, size);
ffio_wfourcc(pb, "cdat");
for (int i = 0; i < pkt->size; i += 3) {
if (pkt->data[i] == 0xFC) {
avio_w8(pb, pkt->data[i + 1]);
avio_w8(pb, pkt->data[i + 2]);
}
}
} else {
if (trk->cenc.aes_ctr) {
if (par->codec_id == AV_CODEC_ID_H264 && par->extradata_size > 4) {