Select Git revision
gst-plugins-bad
-
-
- Open with
- Visual Studio Code
- IntelliJ IDEA
- Download source code
Georg Ottinger
authored and
Xavier Claessens
committed
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
Name | Last commit | Last update |
---|