Skip to content
Snippets Groups Projects
  1. Jul 20, 2018
  2. Jul 03, 2018
    • Rostislav Pehlivanov's avatar
      lavc: implement an ATRAC9 decoder · 755e6183
      Rostislav Pehlivanov authored
      
      This commit implements a full ATRAC9 decoder, a simple low-delay codec
      developed by Sony and used in most PSVita games, some PS3 games and some
      PS4 games. Its similar to AAC in that it uses Huffman coded scalefactors
      but instead of vector quantization it just Huffman codes the spectral
      coefficients (in a way similar to how Opus splits band energy coding
      into coarse and fine precision). It opts to write rather large Huffman
      codes by packing several small coefficients into one Huffman coded
      symbol, though I don't believe this increases efficiency at all.
      Band extension implements SBC in a simple way, first it mirrors the
      lower spectrum onto the higher frequencies and then it uses one of 5
      filters to shape it. Noise substitution is implemented via 2 of them.
      Unlike previous ATRAC codecs, there's no QMF, this is a standard MDCT
      codec.
      
      Based off of the reverse engineering work of Alex Barney.
      
      Signed-off-by: default avatarRostislav Pehlivanov <atomnuker@gmail.com>
      755e6183
  3. May 05, 2018
  4. May 02, 2018
  5. Apr 28, 2018
  6. Mar 29, 2018
  7. Mar 18, 2018
  8. Mar 17, 2018
  9. Mar 13, 2018
  10. Mar 12, 2018
  11. Mar 07, 2018
  12. Feb 27, 2018
  13. Feb 24, 2018
  14. Feb 21, 2018
  15. Feb 11, 2018
  16. Feb 09, 2018
  17. Jan 30, 2018
  18. Jan 04, 2018
  19. Jan 01, 2018
  20. Dec 09, 2017
  21. Nov 28, 2017
  22. Nov 26, 2017
  23. Nov 20, 2017
    • Philip Langdale's avatar
      avcodec: Implement mpeg4 nvdec hwaccel · 6b77a10e
      Philip Langdale authored
      This was predictably nightmarish, given how ridiculous mpeg4 is.
      I had to stare at the cuvid parser output for a long time to work
      out what each field was supposed to be, and even then, I still don't
      fully understand some of them. Particularly:
      
      vop_coded: If I'm reading the decoder correctly, this flag will always
                 be 1 as the decoder will not pass the hwaccel any frame
                 where it is not 1.
      divx_flags: There's obviously no documentation on what the possible
                  flags are. I simply observed that this is '0' for a
                  normal bitstream and '5' for packed b-frames.
      gmc_enabled: I had a number of guesses as to what this mapped to.
                   I picked the condition I did based on when the cuvid
                   parser was setting flag.
      
      Also note that as with the vdpau hwaccel, the decoder needs to
      consume the entire frame and not the slice.
      6b77a10e
    • Philip Langdale's avatar
      avcodec: Implement mpeg1 nvdec hwaccel · 8bca292c
      Philip Langdale authored
      Once I remembered that there's a separate decoder type for mpeg1,
      even though params struct is shared with mpeg2, everything worked.
      8bca292c
  24. Nov 18, 2017
  25. Nov 15, 2017
  26. Nov 13, 2017
  27. Nov 12, 2017
  28. Nov 10, 2017
  29. Oct 28, 2017
  30. Oct 23, 2017
    • Clément Bœsch's avatar
      lavc: drop VDA · 2b320318
      Clément Bœsch authored
      Deprecated (aka removed) in OSX 10.11, and we have a replacement for it
      (VideoToolbox).
      2b320318
Loading