OSDN Git Service

lavu: Remove bit packing from AVComponentDescriptor
authorVittorio Giovara <vittorio.giovara@gmail.com>
Wed, 2 Sep 2015 16:59:38 +0000 (18:59 +0200)
committerVittorio Giovara <vittorio.giovara@gmail.com>
Mon, 7 Sep 2015 10:36:56 +0000 (12:36 +0200)
There is no practical benefit in having this structure elements
bit packed given the size of the structure and its usage.
Change types from uint16_t (packed) to plain int in order to simplify
modifying the structure and accessing its fields.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
doc/APIchanges
libavutil/pixdesc.h

index c944fff..1c268ed 100644 (file)
@@ -15,6 +15,8 @@ API changes, most recent first:
 
 2015-xx-xx - lavu 55.0.0
   xxxxxxx - Change type of AVPixFmtDescriptor.flags from uint8_t to uint64_t.
+  xxxxxxx - Change type of AVComponentDescriptor fields from uint16_t to int
+            and drop bit packing.
 
 2015-xx-xx - lavu 54.17.0
   xxxxxxx -  Add av_blowfish_alloc().
index c36f5d1..bba7e05 100644 (file)
@@ -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;
 
 /**