There is no practical benefit in having this structure elements
bit packed given the size of the structure and its usage.
Changing types will simplify modifying the structure and accessing
its fields.

Signed-off-by: Vittorio Giovara <[email protected]>
---
 doc/APIchanges      |  1 +
 libavutil/pixdesc.h | 10 +++++-----
 2 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/doc/APIchanges b/doc/APIchanges
index 7936f00..2e31ab1 100644
--- a/doc/APIchanges
+++ b/doc/APIchanges
@@ -15,6 +15,7 @@ API changes, most recent first:
 
 2015-xx-xx - lavu 54.0.0
   xxxxxxx - Change type of AVPixFmtDescriptor.flags.
+  xxxxxxx - Change type of AVComponentDescriptor fields and drop bit packing.
 
 2015-xx-xx - lavu 54.17.0
   xxxxxxx -  Add av_blowfish_alloc().
diff --git a/libavutil/pixdesc.h b/libavutil/pixdesc.h
index c36f5d1..bba7e05 100644
--- a/libavutil/pixdesc.h
+++ b/libavutil/pixdesc.h
@@ -31,30 +31,30 @@ typedef struct AVComponentDescriptor {
     /**
      * Which of the 4 planes contains the component.
      */
-    uint16_t plane        : 2;
+    int plane;
 
     /**
      * Number of elements between 2 horizontally consecutive pixels minus 1.
      * Elements are bits for bitstream formats, bytes otherwise.
      */
-    uint16_t step_minus1  : 3;
+    int step_minus1;
 
     /**
      * Number of elements before the component of the first pixel plus 1.
      * Elements are bits for bitstream formats, bytes otherwise.
      */
-    uint16_t offset_plus1 : 3;
+    int offset_plus1;
 
     /**
      * Number of least significant bits that must be shifted away
      * to get the value.
      */
-    uint16_t shift        : 3;
+    int shift;
 
     /**
      * Number of bits in the component minus 1.
      */
-    uint16_t depth_minus1 : 4;
+    int depth_minus1;
 } AVComponentDescriptor;
 
 /**
-- 
1.9.5 (Apple Git-50.3)

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to