codec: rav1e: use opaque pointer for storing pts
Before on:
SEQ=${SEQ:-/home/tmatth/Videos/akiyo_qcif.y4m}
/big-repos/vlc/vlc -vvvvvv \
-I "dummy" ${SEQ} \
--rawvid-chroma=I420 \
--rawvid-fps=30 \
--sout="#transcode{vcodec=av10,venc=rav1e}:std{access=file,mux=avformat,dst='test-video-rav1e.ivf'}" \
vlc://quit
PTS was always 1.
With this change, it's the same as from codec/aom.c
:
[00007f9b00394910] rav1e encoder warning: PTS 1
[00007f9b00394910] rav1e encoder warning: PTS 33334
[00007f9b00394910] rav1e encoder warning: PTS 66667
[00007f9b00394910] rav1e encoder warning: PTS 100001
...
[00007f9b00394910] rav1e encoder warning: PTS 9800001
[00007f9b00394910] rav1e encoder warning: PTS 9833334
[00007f9b00394910] rav1e encoder warning: PTS 9866667
[00007f9b00394910] rav1e encoder warning: PTS 9900001
[00007f9b00394910] rav1e encoder warning: PTS 9933334
[00007f9b00394910] rav1e encoder warning: PTS 9966667
vs.
[00007f30d8396f60] aom encoder warning: PTS: 1
[00007f30d8396f60] aom encoder warning: PTS: 33334
[00007f30d8396f60] aom encoder warning: PTS: 66667
[00007f30d8396f60] aom encoder warning: PTS: 100001
...
[00007f30d8396f60] aom encoder warning: PTS: 9800001
[00007f30d8396f60] aom encoder warning: PTS: 9833334
[00007f30d8396f60] aom encoder warning: PTS: 9866667
[00007f30d8396f60] aom encoder warning: PTS: 9900001
[00007f30d8396f60] aom encoder warning: PTS: 9933334
[00007f30d8396f60] aom encoder warning: PTS: 9966667
N.B. Needed this temporary workaround to avoid #27730 (closed):
diff --git a/modules/stream_out/transcode/pcr_helper.c b/modules/stream_out/transcode/pcr_helper.c
index 2f404b0faa..e810c093c6 100644
--- a/modules/stream_out/transcode/pcr_helper.c
+++ b/modules/stream_out/transcode/pcr_helper.c
@@ -158,7 +158,6 @@ int transcode_track_pcr_helper_SignalEnteringFrame(transcode_track_pcr_helper_t
vlc_tick_t transcode_track_pcr_helper_SignalLeavingFrame(transcode_track_pcr_helper_t *pcr_helper,
const vlc_frame_t *frame)
{
- assert(!vlc_list_is_empty(&pcr_helper->delayed_frames_data));
pcr_helper->last_dts_output = frame->i_dts;
Edited by Tristan Matthews