[Bug 796519] Add AV1 codec parser
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Sat Jul 7 14:03:56 UTC 2018
https://bugzilla.gnome.org/show_bug.cgi?id=796519
Nicolas Dufresne (ndufresne) <nicolas at ndufresne.ca> changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #372967|none |needs-work
status| |
--- Comment #6 from Nicolas Dufresne (ndufresne) <nicolas at ndufresne.ca> ---
Review of attachment 372967:
--> (https://bugzilla.gnome.org/review?bug=796519&attachment=372967)
Just a high level review. I agree with the comment that it's uncommon to expose
a BitReader in the API. You could have a context that holds one if needed.
Though, in general we use the GST_READ* macro as BitReader is slow (requires a
lot of function calls). I haven't looked at the code yet, and haven't looked at
the API.
Is AV1 like VP8/9, which cannot be frames from raw data ? Or is it more like
JPEG or H264 byte-stream ?
::: gst-libs/gst/codecparsers/gstav1parser.h
@@ +8,3 @@
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
I think GNU Lesser 2.1 should be used in new code.
@@ +25,3 @@
+ */
+ /**
+ * SECTION:gstav1parser
This needs to be added to the doc sections in docs/
@@ +30,3 @@
+ *
+ * For more details about the structures, you can refer to the
+ * specifications: https://aomediacodec.github.io/av1-spec/av1-spec.pdf
Should be mark down annotation. Something like [specification](https://..)
@@ +31,3 @@
+ * For more details about the structures, you can refer to the
+ * specifications: https://aomediacodec.github.io/av1-spec/av1-spec.pdf
+ *
Add "Since: 1.16"
@@ +52,3 @@
+
+
+//TODO: Import all Defines from SPEC
Use C style comment, /* */
@@ +143,3 @@
+/**
+ * GstAV1OBUType:
+ *
Doc/TODO
@@ +389,3 @@
+
+typedef enum {
+ GST_AV1_REF_INTRA_FRAME,
All other enum used explicit =.
@@ +416,3 @@
+
+/**
+ * _GstAV1OBUHeader:
Remove _ here, you want to refer to the typedef, not the struct.
@@ +432,3 @@
+
+struct _GstAV1OBUHeader {
+ guint8 obu_forbidden_bit;
We don't usually put reserve bits into parsed structure.
@@ +485,3 @@
+ * initial_display_delay_minus_1
is not specified for this
+ * operating point.
+ * initial_display_delay_minus_1: plus 1 specifies, for operating point i, the
number of decoded frames
Missing @.
@@ +592,3 @@
+ guint8 separate_uv_delta_q;
+ guint8 BitDepth;
+ guint8 NumPlanes;
use underscore notation instead of camel case.
@@ +724,3 @@
+ guint8 itu_t_t35_country_code;
+ guint8 itu_t_t35_country_code_extention_byte;
+ // itu_t_t35_payload_bytes - not supported at the moment
Without structure padding, you'll need to add this in, as adding it later would
be an ABI break.
@@ +1134,3 @@
+ guint8 UsesLr;
+ GstAV1FrameRestorationType FrameRestorationType[GST_AV1_MAX_NUM_PLANES];
+ guint32 LoopRestorationSize[GST_AV1_MAX_NUM_PLANES];
No camel case please.
@@ +1552,3 @@
+ guint8 anchor_tile_col;
+ guint16 tile_data_size_minus_1;
+ //guint8 coded_tile_data[]; //skipped
Would need to reserve that space in the struct for ABI stability.
::: tests/check/meson.build
@@ +70,3 @@
]
+
Spurious new line.
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
More information about the gstreamer-bugs
mailing list