@Test
public void getSupportedFormats()
{

    // Output from "ffmpeg -formats" on an Android device
    String string =
            "  libavutil      55. 17.103 / 55. 17.10\n" +
            "  libavcodec     57. 24.102 / 57. 24.10\n" +
            "  libavformat    57. 25.100 / 57. 25.10\n" +
            "  libavdevice    57.  0.101 / 57.  0.10\n" +
            "  libavfilter     6. 31.100 /  6. 31.10\n" +
            "  libswscale      4.  0.100 /  4.  0.10\n" +
            "  libswresample   2.  0.101 /  2.  0.10\n" +
            "  libpostproc    54.  0.100 / 54.  0.10\n" +
            // On the device, the following is one long line
            "File formats:" +
            " D. = Demuxing supported" +
            " .E = Muxing supported" +
            " --" +
            " D  3dostr          3DO STR " +
            " E 3g2             3GP2 (3GPP2 file format) " +
            " E 3gp             3GP (3GPP file format)" +
            " D  4xm             4X Technologies " +
            " E a64             a64 - video for Commodore 64" +
            " D  aa              Audible AA format files" +
            " D  aac             raw ADTS AAC (Advanced Audio Coding)" +
            " DE ac3             raw AC-3" +
            " D  acm             Interplay ACM" +
            " D  act             ACT Voice file format" +
            " D  adf             Artworx Data Format" +
            " D  adp             ADP" +
            " D  ads             Sony PS2 ADS " +
            " E adts            ADTS AAC (Advanced Audio Coding)" +
            " DE adx             CRI ADX" +
            " D  aea             MD STUDIO audio" +
            " D  afc             AFC" +
            " DE aiff            Audio IFF" +
            " DE alaw            PCM A-law" +
            " D  alias_pix       Alias/Wavefront PIX image" +
            " DE amr             3GPP AMR" +
            " D  anm             Deluxe Paint Animation" +
            " D  apc             CRYO APC" +
            " D  ape             Monkey's Audio" +
            " DE apng            Animated Portable Network Graphics" +
            " D  aqtitle         ATitle subtitles" +
            " DE asf             ASF (Advanced / Active Streaming Format)" +
            " D  asf_o           ASF (Advanced / Active Streaming Format) " +
            " E asf_stream      ASF (Advanced / Active Streaming Format)" +
            " DE ass             SSA (SubStation Alpha) subtitle" +
            " DE ast             AST (Audio Stream)" +
            " DE au              Sun AU" +
            " DE avi             AVI (Audio Video Interleaved) " +
            " E avm2            SWF (ShockWave Flash) (AVM2)" +
            " D  avr             AVR (Audio Visual Research)" +
            " D  avs             AVS" +
            " D  bethsoftvid     Bethesda Softworks VID" +
            " D  bfi             Brute Force & Ignorance" +
            " D  bfstm           BFSTM (Binary Cafe Stream)" +
            " D  bin             Binary text" +
            " D  bink            Bink" +
            " DE bit             G.729 BIT file format" +
            " D  bmp_pipe        piped bmp sequence" +
            " D  bmv             Discworld II BMV" +
            " D  boa             Black Ops Audio" +
            " D  brender_pix     BRender PIX image" +
            " D  brstm           BRSTM (Binary Revolution Stream)" +
            " D  c93             Interplay C93" +
            " DE caf             Apple CAF (Core Audio Format)" +
            " DE cavsvideo       raw Chinese AVS (Audio Video Standard) video" +
            " D  cdg             CD Graphics" +
            " D  cdxl            Commodore CDXL video" +
            " D  cine            Phantom Cine" +
            " D  concat          Virtual concatenation script " +
            " E crc             CRC testing " +
            " E dash            DASH Muxer" +
            " DE data            raw data" +
            " DE daud            D-Cinema audio" +
            " D  dcstr           Sega DC STR" +
            " D  dds_pipe        piped dds sequence" +
            " D  dfa             Chronomaster DFA" +
            " DE dirac           raw Dirac" +
            " DE dnxhd           raw DNxHD (SMPTE VC-3)" +
            " D  dpx_pipe        piped dpx sequence" +
            " D  dsf             DSD Stream File (DSF)" +
            " D  dsicin          Delphine Software International CIN" +
            " D  dss             Digital Speech Standard (DSS)" +
            " DE dts             raw DTS" +
            " D  dtshd           raw DTS-HD" +
            " DE dv              DV (Digital Video)" +
            " D  dv1394          DV1394 A/V grab" +
            " D  dvbsub          raw dvbsub " +
            " E dvd             MPEG-2 PS (DVD VOB)" +
            " D  dxa             DXA" +
            " D  ea              Electronic Arts Multimedia" +
            " D  ea_cdata        Electronic Arts cdata" +
            " DE eac3            raw E-AC-3" +
            " D  epaf            Ensoniq Paris Audio File" +
            " D  exr_pipe        piped exr sequence" +
            " DE f32be           PCM 32-bit floating-point big-endian" +
            " DE f32le           PCM 32-bit floating-point little-endian " +
            " E f4v             F4V Adobe Flash Video" +
            " DE f64be           PCM 64-bit floating-point big-endian" +
            " DE f64le           PCM 64-bit floating-point little-endian" +
            " DE fbdev           Linux framebuffer" +
            " DE ffm             FFM (FFserver live feed)" +
            " DE ffmetadata      FFmpeg metadata in text" +
            " D  film_cpk        Sega FILM / CPK" +
            " DE filmstrip       Adobe Filmstrip" +
            " DE flac            raw FLAC" +
            " D  flic            FLI/FLC/FLX animation" +
            " DE flv             FLV (Flash Video) " +
            " E framecrc        framecrc testing " +
            " E framemd5        Per-frame MD5 testing" +
            " D  frm             Megalux Frame" +
            " D  fsb             FMOD Sample Bank" +
            " DE g722            raw G.722" +
            " DE g723_1          raw G.723.1" +
            " D  g729            G.729 raw format demuxer" +
            " D  genh            GENeric Header" +
            " DE gif             GIF Animation" +
            " D  gsm            raw GSM" +
            " DE gxf             GXF (General eXchange Format)" +
            " DE h261            raw H.261" +
            " DE h263            raw H.263" +
            " DE h264            raw H.264 video " +
            " E hds             HDS Muxer" +
            " DE hevc            raw HEVC video " +
            " E hls             Apple HTTP Live Streaming" +
            " D  hls,applehttp   Apple HTTP Live Streaming" +
            " D  hnm             Cryo HNM v4" +
            " DE ico             Microsoft Windows ICO" +
            " D  idcin           id Cinematic" +
            " D  idf             iCE Draw File" +
            " D  iff             IFF (Interchange File Format)" +
            " DE ilbc            iLBC storage" +
            " DE image2          image2 sequence" +
            " DE image2pipe      piped image2 sequence" +
            " D  ingenient       raw Ingenient MJPEG" +
            " D  ipmovie         Interplay MVE " +
            " E ipod            iPod H.264 MP4 (MPEG-4 Part 14)" +
            " DE ircam           Berkeley/IRCAM/CARL Sound Format " +
            " E ismv            ISMV/ISMA (Smooth Streaming)" +
            " D  iss             Funcom ISS" +
            " D  iv8             IndigoVision 8000 video" +
            " DE ivf             On2 IVF" +
            " D  ivr             IVR (Internet Video Recording)" +
            " D  j2k_pipe        pipe j2k sequence" +
            " DE jacosub         JACOsub subtitle format" +
            " D  jpeg_pipe       piped jpeg sequence" +
            " D  jpegls_pipe     piped jpegls sequence" +
            " D  jv              Bitmap Brothers JV " +
            " E latm            LOAS/LATM" +
            " D  lavfi           Libavfilter virtual input device" +
            " D  live_flv        live RTMP FLV (Flash Video)" +
            " D  lmlm4           raw lmlm4" +
            " D  loas            LOAS AudioSyncStream" +
            " DE lrc             LRC lyrics" +
            " D  lvf             LVF" +
            " D  lxf             VR native stream (LXF)" +
            " DE m4v             raw MPEG-4 video " +
            " E matroska        Matroska" +
            " D  matroska,webm   Matroska / WebM " +
            " E md5             MD5 testing" +
            " D  mgsts           Metal Gear Solid: The Twin Snakes" +
            " DE microdvd        MicroDVD subtitle format" +
            " DE mjpeg           raw MJPEG video " +
            " E mkvtimestamp_v2 extract pts as timecode v2 format, as defined by mkvtoolnix" +
            " DE mlp             raw MLP" +
            " D  mlv             Magic Lantern Video (MLV)" +
            " D  mm              American Laser Games MM" +
            " DE mmf             Yamaha SMAF " +
            " E mov             QuickTime / MOV" +
            " D  mov,mp4,4a,3gp,3g2,mj2 QuickTime / MOV " +
            " E mp2             MP2 (MPEG audio layer 2)" +
            " DE mp3             MP3 (MPEG audio layer 3) " +
            " E mp4             MP4 (MPEG-4 Part 14)" +
            " D  mpc             Musepack" +
            " D  mpc8            Musepack SV8" +
            " DE mpeg            MPEG-1 Systems / MPEG program stream " +
            " E mpeg1video      raw MPEG-1 video " +
            " E mpeg2video      raw MPEG-2 video" +
            " DE mpegts          MPEG-TS (MPEG-2 Transport Stream)" +
            " D  mpegtsraw       raw MPEG-TS (MPEG-2 Transport Stream)" +
            " D  mpegvideo       raw MPEG video" +
            " DE mpjpeg          MIME multipart JPEG" +
            " D  mpl2            MPL2 subtitles" +
            " D  mpsub           MPlayer subtitles" +
            " D  msf             Sony PS3 MSF" +
            " D  msnwctcp        MSN TCP Webcam stream" +
            " D  mtv             MTV" +
            " DE mulaw           PCM mu-law" +
            " D  mv              Silicon Graphics Movie" +
            " D  mvi             Motion Pixels MVI" +
            " DE mxf             MXF (Material eXchange Format) " +
            " E mxf_d10         MXF (Material eXchange Format) D-10 Mapping " +
            " E mxf_opatom      MXF (Material eXchange Format) Operational Pattern Atom" +
            " D  mxg            MxPEG clip" +
            " D  nc              NC camera feed" +
            " D  nistsphere      NIST SPeech HEader REsources" +
            " D  nsv             Nullsoft Streaming Video " +
            " E null            raw null video" +
            " DE nut             NUT" +
            " D  nuv             NuppelVideo " +
            " E oga             Ogg Audio" +
            " DE ogg             Ogg" +
            " DE oma             Sony OpenMG audio " +
            " E opus            Ogg Opus" +
            " D  paf             Amazing Studio Packed Animation File" +
            " D  pictor_pipe     piped pictor sequence" +
            " D  pjs             PJS (Phoenix Japanimation Society) subtitles" +
            " D  pmp             Playstation Portable PMP" +
            " D  png_pipe        piped png sequence " +
            " E psp             PSP MP4 (MPEG-4 Part 14)" +
            " D  psxstr          Sony Playstation STR" +
            " D  pva             TechnoTrend PVA" +
            " D  pvf             PVF (Portable Voice Format)" +
            " D  qcp             QCP" +
            " D  qdraw_pipe      piped qdraw sequence" +
            " D  r3d             REDCODE R3D" +
            " DE rawvideo        raw video" +
            " D  realtext        RealText subtitle format" +
            " D  redspark        RedSpark" +
            " D  rl2             RL2" +
            " DE rm              RealMedia" +
            " DE roq             raw id RoQ" +
            " D  rpl             RPL / ARMovie" +
            " D  rsd             GameCube RSD" +
            " DE rso             Lego Mindstorms RSO" +
            " DE rtp             RTP output " +
            " E rtp_mpegts      RTP/mpegts output format" +
            " DE rtsp            RTSP output" +
            " DE s16be           PCM signed 16-bit big-endian" +
            " DE s16le           PCM signed 16-bit little-endian" +
            " DE s24be           PCM signed 24-bit big-endian" +
            " DE s24le           PCM signed 24-bit little-endian" +
            " DE s32be           PCM signed 32-bit big-endian" +
            " DE s32le           PCM signed 32-bit little-endian" +
            " DE s8              PCM signed 8-bit" +
            " D  sami            SAMI subtitle format" +
            " DE sap             SAP output" +
            " D  sbg             SBaGen binaural beats script" +
            " D  sdp             SDP" +
            " D  sdr2            SDR2 " +
            " E segment         segment" +
            " D  sgi_pipe        piped sgi sequence" +
            " D  shn             raw Shorten" +
            " D  siff            Beam Software SIFF " +
            " E singlejpeg      JPEG single image" +
            " D  sln             Asterisk raw pcm" +
            " DE smjpeg          Loki SDL MJPEG" +
            " D  smk             Smacker " +
            " E smoothstreaming Smooth Streaming Muxer" +
            " D  smush           LucasArts Smush" +
            " D  sol             Sierra SOL" +
            " DE sox             SoX native" +
            " DE spdif           IEC 61937 (used on S/PDIF - IEC958) " +
            " E spx             Ogg Speex" +
            " DE srt             SubRip subtitle" +
            " D  stl             Spruce subtitle format " +
            " E stream_segment,ssegment streaming segment muxer" +
            " D  subviewer       SubViewer subtitle format" +
            " D  subviewer1      SubViewer v1 subtitle format" +
            " D  sunrast_pipe    piped sunrast sequence" +
            " D  sup             raw HDMV Presentation Graphic Stream subtitles" +
            " D  svag            Konami PS2 SVAG " +
            " E svcd            MPEG-2 PS (SVCD)" +
            " DE swf             SWF (ShockWave Flash)" +
            " D  tak             raw TAK" +
            " D  tedcaptions     TED Talks captions " +
            " E tee             Multiple muxer tee" +
            " D  thp             THP" +
            " D  tiertexseq      Tiertex Limited SEQ" +
            " D  tiff_pipe       piped tiff sequence" +
            " D  tmv             8088flex TMV" +
            " DE truehd          raw TrueHD" +
            " D  tta             TTA (True Audio)" +
            " D  tty             Teletypewriter" +
            " D  txd             Renderware TeXture Dictionary" +
            " DE u16be           PCM unsigned 16-bit big-endian" +
            " DE u16le           PCM unsigned 16-bit little-endian" +
            " DE u24be           PCM unsigned 24-bit big-endian" +
            " DE u24le           PCM unsigned 24-bit little-endian" +
            " DE u32be           PCM unsigned 32-bit big-endian" +
            " DE u32le           PCM unsigned 32-bit little-endian" +
            " DE u8              PCM unsigned 8-bit " +
            " E uncodedframecrc uncoded framecrc testing" +
            " D  v210            Uncompressed 4:2:2 10-bit" +
            " D  v210x           Uncompressed 4:2:2 10-bit " +
            " E v4l2            Video4Linux2 output device" +
            " D  vag             Sony PS2 VAG" +
            " DE vc1             raw VC-1 video" +
            " DE vc1test         VC-1 test bitstream " +
            " E vcd             MPEG-1 Systems / MPEG program stream (VCD)" +
            " D  video4linux2,v4l2 Video4Linux2 device grab" +
            " D  vivo            Vivo" +
            " D  vmd             Sierra VMD " +
            " E vob             MPEG-2 PS (VOB" +
            " D  vobsub          VobSub subtitle format" +
            " DE voc             Creative Voice" +
            " D  vpk             Sony PS2 VPK" +
            " D player         VPlayer subtitles" +
            " D  vqf             Nippon Telegraph and Telephone Corporation (NTT) TwinVQ" +
            " DE w64             Sony Wave64" +
            " DE wav             WAV / WAVE (Waveform Audio)" +
            " D  wc3movie        Wing Commander III movie " +
            " E webm            WebM " +
            " E webm_chunk      WebM Chunk Muxer" +
            " DE webm_dash_manifest WebM DASH Manifest " +
            " E webp            WebP" +
            " D  webp_pipe       piped webp sequence" +
            " DE webvtt          WebVTT subtitle" +
            " D  wsaud           Westwood Studios audio" +
            " D  wsvqa           Westwood Studios VQA" +
            " DE wtv             Windows Television (WTV)" +
            " DE wv              raw WavPack" +
            " D  wve             Psion 3 audio" +
            " D  xa              Maxis XA" +
            " D  xbin            eXtended BINary text (XBIN)" +
            " D  xmv             Microsoft XMV" +
            " D  xvag            Sony PS3 XVAG" +
            " D  xwma            Microsoft xWMA" +
            " D  yop             Psygnosis YOP" +
            " DE yuv4mpegpipe    YUV4MPEG pip";
    List<MediaContainer> containers = FFmpegUtil.parseSupportedFormats(string);
    assertEquals(MediaContainer.values().length, containers.size());
}