[FFmpeg-trac] #11591(avcodec:new): closed captions side data gets corrupted by mpeg2 encoder
FFmpeg
trac at avcodec.org
Fri May 16 03:30:28 EEST 2025
#11591: closed captions side data gets corrupted by mpeg2 encoder
-------------------------------------+-------------------------------------
Reporter: Jacob | Type: defect
Lifshay |
Status: new | Priority: normal
Component: avcodec | Version: git-
| master
Keywords: | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
Summary of the bug:
I discovered that closed captions side data gets corrupted by the mpeg2
encoder, I was able to bisect it to:
6e225123d8583f avcodec/mpeg12enc: Simplify writing bits
https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/6e225123d8583f
How to reproduce:
Download the Closedcaption_rollup.m2v file from ffmpeg's rsync server to
~/Downloads/Closedcaption_rollup.m2v
Install ffmpeg 7:5.1.6-0+deb12u1 from Debian 12
{{{
./configure --assert-level=2 --disable-vulkan --disable-stripping
--optflags=-Og
make -j$(nproc)
ffmpeg -y -i ~/Downloads/Closedcaption_rollup.m2v cc_rollup-good.mxf
./ffmpeg -y -i ~/Downloads/Closedcaption_rollup.m2v cc_rollup-test.mxf
./ffmpeg -y -f lavfi -i "movie=cc_rollup-good.mxf[out+subcc]" -map 0:s
-c:s copy -f rcwt cc_rollup-good.mxf.rcwt
./ffmpeg -y -f lavfi -i "movie=cc_rollup-test.mxf[out+subcc]" -map 0:s
-c:s copy -f rcwt cc_rollup-test.mxf.rcwt
diff -y <(hexdump -C cc_rollup-good.mxf.rcwt) <(hexdump -C cc_rollup-
test.mxf.rcwt)
}}}
the first closed caption chunk on the good one is just:
{{{
fc 80 80 fd 80 80
}}}
but on the bad commit it is:
{{{
fc 80 80 fd 80 80 0f f0 00 23 f8 75 94 88 b2
d4 68 52 e3 45 a1 8b 2d 46 85 22 2c b5 1a 14
d4 85 22 2c d1 a1 8b 2d 06 a5 22 2c b5 1a 14
d4 68 47
}}}
that is far from the only one that's bad.
--
Ticket URL: <https://trac.ffmpeg.org/ticket/11591>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list