[FFmpeg-devel] [PATCH 2/2] avformat/movenc: fix remuxing eia-608 into mov from other containers

Carl Eugen Hoyos ceffmpeg at gmail.com
Sun Jun 14 19:31:29 EEST 2020


Am So., 14. Juni 2020 um 18:22 Uhr schrieb Paul B Mahol <onemda at gmail.com>:
>
> Signed-off-by: Paul B Mahol <onemda at gmail.com>
> ---
>  libavformat/movenc.c | 16 ++++++++++++++++
>  1 file changed, 16 insertions(+)
>
> diff --git a/libavformat/movenc.c b/libavformat/movenc.c
> index 5d8dc4fd5d..520aaafb74 100644
> --- a/libavformat/movenc.c
> +++ b/libavformat/movenc.c
> @@ -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]);
> +            }
> +        }

This answers my question from the other thread, thank you.

Carl Eugen


More information about the ffmpeg-devel mailing list