On Tue, 19 May 2020, James Almer wrote:

On 5/19/2020 5:57 PM, Martin Storsjö wrote:
Some encoders don't provide split out extradata directly on init (or
at all). In particular, the MediaFoundation encoder wrapper doesn't
always (depending on the actual encoder device) - this is the case for
Qualcomm's HEVC encoder on SD835, and also on some QSV H264 encoders).

This only works for cases where the moov hasn't already been written
(e.g. when not writing fragmented mp4 with empty_moov, unless using
the delay_moov option).
---
 libavformat/avc.c    | 41 ++++++++++++++++++++++++++++++++++
 libavformat/avc.h    |  3 +++
 libavformat/hevc.c   | 52 ++++++++++++++++++++++++++++++++++++--------
 libavformat/hevc.h   | 16 ++++++++++++++
 libavformat/movenc.c | 11 ++++++++++
 5 files changed, 114 insertions(+), 9 deletions(-)

Wouldn't copying the first packet into trk->vos_data, like it's done
with dnxhd, truehd and ac3 in ff_mov_write_packet(), work for these
codecs as well?

Hmm, yes, that's right - that would actually also work. That's significantly simpler...

// Martin
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to