Skip to content

smartencoder: clean up and extend accepted formats: add H265 and use avc3/hev1 variants

Mathieu Duponchelle requested to merge meh/gst-plugins-base:isomp4-smart into master
  • Add support for H265

  • Don't overwrite original codec_data / streamheader in the output caps, but instead allow them to change and send them to the combiner at the right moment: encoder caps, reencoded GOP, original caps, original GOP(s), and potentially encoder caps and rencoded last GOP.

  • For H264 / H265, force usage of a format with inband SPS / PPS (avc3 / hev1), this is cleaner than misadvertising avc1, hvc1 and some muxers like mp4mux will actually advertise both differently.

    Unfortunately, while mp4 supports updating the codec_data and using avc1 with no in-band SPS / PPS updates, it turns out some decoders (eg chrome / firefox) don't handle this particularly well and stop decoding after the reencoded GOP. We could expose a switch to force usage of avc1 / hvc1 nevertheless, but for now stick to requiring that the parser output SPS / PPS in-band with config-interval=-1 (that has not changed)

Edited by Tim-Philipp Müller

Merge request reports