Skip to content
Kieran Kunhya edited this page Apr 6, 2014 · 119 revisions

Main TODO list for OBE-RT

Input

IP input

  • Get rid of (or fix) libavformat and write a new UDP/RTP demuxer and MPEG-TS demuxer that are better suited to hard realtime operations. Lavf has been disabled for the time being.

AES3

  • Write SMPTE 337M parser

SDI

Speed

  • v210 unpack to uyvy speed optimisations
  • Make the whole encode chain work with interleaved chroma

Decoding

  • Get to a situation where the Dolby E decoder can be used without fear...
  • Export User Data from MPEG-2 and AVC streams

Audio Filtering

  • Multichannel audio
  • Add filter that joins 3x MP2 to one 5.1 stream
  • Filter that outputs correct number of samples for uncompressed PAL/NTSC
  • Loudness normalisation filter
  • Add support for loudness normalisation data in MP2 (mostly written)

Video Filtering

  • Optimise hscale in swscale - it's a waste of CPU currently (done, needs merge)
  • Add other filters (denoise)
  • Optimise and add support for pulldown detection

Encoding

  • Make speedcontrol aware of threads in progress
  • Add intra masking to reduce keyframe pulsing
  • Set AFD default or AFD last known
  • Handle AC-3 metadata from VANC or other sources.
  • Make AC-3 encoder do dynamic range control
  • Make AAC metadata work.
  • Add x262.
  • Add statmux to x264.
  • A lot of things on http://wiki.videolan.org/X264_TODO, most importantly: realtime b-adapt=2, paff etc
  • Do vsad on a whole GOP to determine whether the GOP is progressive on a 1080i input and set the correct pic-struct element like BBC HD encoder does.

Mux

  • Finish SMPTE 302M muxer (easy)
  • Add reconfig to libmpegts
  • Add DVB NIT & ATSC etc tables to libmpegts
  • Add lowlatency mode to libmpegts (with 302M audio)
  • Add PSIP insertion to libmpegts (timing not so problematic)
  • Add PES insertion to libmpegts (e.g. DVBSUB - need to check timing too)

Encryption

  • Add BISS 0/1/E support

Output

  • Add support other types of FEC (LDPC?)

Other

  • Match all other features on Harmonic spec sheet
  • Handle wraparound for IP input.
  • Handle failure to start gracefully
  • Testsuite?
  • Tidy up CLI (add multiple teletext streams amongst other things)