1. 22 Oct, 2018 2 commits
    • Georg Ottinger's avatar
      gstav1parser: Add AV1 codecparser library Preview 3 · c1407e9a
      Georg Ottinger authored
      This is a third preview version of the av1 codec parser library.
      The library consists of the two files gstav1parser.c and gstav1parser.h
      Additionally a testcase (av1parser.c) is provided. It contains a test
      sequence taken from the aom testdata set, with one key and one inter-
      frame. The same test sequence has been reencoded to annexb. Further for
      metadata OBU and tile info OBU handcrafted testcases are provided
      
      Feedback is highly appriciated. :)
      
      Changes from Preview 2:
      
      * reworked the API interface
      * added support for Annex B
      * added more testcases (annexb, metadata, tileinfo)
      * added inline documentation
      * grouped syntax elements according to function
      
      Known issues:
      
      * gst_av1_read_bits is testing each time for bit availability,
        this might impact performance. Tuning for performance should
        be done once the API stabilized. (imho)
      * testdata is taken from aom testdata (and reencoded for annexb)
        aswell as handcrafted testcases. Once reference testdata is
        available the testing could be imporved aswell.
      * This preview still needs evaluation if all syntax elements in
        the structs are relevant. I guess actuall usecases will help
        to improve the library
      
      Changes from Preview 1:
      
      * deCamelCased variables
      * use gboolean for flags (instead of guint8)
      * use memset (instead of bzero)
      * reviewed against Version 1.0.0 of Spec
      * Use union for different metadata OBUs
      * fixed comments (/* style */)
      * hide some of the flags from API
      * start to support dynamic allocation of coded_tile_data (+free fn)
      * start to support basic annex b size field
      * added GstAV1OBUHeaderExtention type
      * + other small fixes as suggested by your feedback
      
      Open Issues from the 1st Feedback Round:
      
      * I didn't rework the interface (including BitStreamer yet)
        I look forward to get this clear in our discussions
      * not using GST_READ* macros yet
      
      Open Questions:
      * Is the library interface appropiate?
      * Is it OK to use GNU C specific extentions like compound statement
        expressions? (checked with #ifdef __GNUC__)
      * Is the layout of the structs holding AV1 syntax elements sensible?
      * Does anybody know a good way to generate test data?
        I investigated the aom source (dump_obu only provides obu type/size
        information, inspect/AOMAnalyzer analyzes at the tile level). Till
        now I didn't find a tool in the aom source tree that analyzes the
        bitstream on a level matching the codecparser.
      
      This work is part of a GSOC 2018 project, mentored by Intel Media And
      Audio For Linux.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=796519
      c1407e9a
    • Edward Hervey's avatar
      4a24739a
  2. 17 Oct, 2018 3 commits
  3. 15 Oct, 2018 1 commit
  4. 10 Oct, 2018 8 commits
  5. 08 Oct, 2018 4 commits
  6. 04 Oct, 2018 4 commits
  7. 03 Oct, 2018 1 commit
  8. 01 Oct, 2018 2 commits
  9. 27 Sep, 2018 1 commit
  10. 26 Sep, 2018 1 commit
  11. 24 Sep, 2018 4 commits
    • Sebastian Dröge's avatar
      glmixerbin: "latency" property on aggregator is uint64, not int64 · 47b69bca
      Sebastian Dröge authored
      Also update the property description and range with aggregator's values.
      47b69bca
    • Tim-Philipp Müller's avatar
      96ac822b
    • Tim-Philipp Müller's avatar
      libs: fix API export/import and 'inconsistent linkage' on MSVC · b6411ae7
      Tim-Philipp Müller authored
      For each lib we build export its own API in headers when we're
      building it, otherwise import the API from the headers.
      
      This fixes linker warnings on Windows when building with MSVC.
      
      The problem was that we had defined all GST_*_API decorators
      unconditionally to GST_EXPORT. This was intentional and only
      supposed to be temporary, but caused linker warnings because
      we tell the linker that we want to export all symbols even
      those from externall DLLs, and when the linker notices that
      they were in external DLLS and not present locally it warns.
      
      What we need to do when building each library is: export
      the library's own symbols and import all other symbols. To
      this end we define e.g. BUILDING_GST_FOO and then we define
      the GST_FOO_API decorator either to export or to import
      symbols depending on whether BUILDING_GST_FOO is set or not.
      That way external users of each library API automatically
      get the import.
      
      While we're at it, add new GST_API_EXPORT...
      b6411ae7
    • Tim-Philipp Müller's avatar
      docs: plugins: update for git master · be3edc6a
      Tim-Philipp Müller authored
      be3edc6a
  12. 22 Sep, 2018 2 commits
  13. 21 Sep, 2018 7 commits