On Wed,  2 Sep 2015 14:32:03 +0200
Vittorio Giovara <[email protected]> wrote:

> 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;
>  
>  /**

LGTM

It's a good idea to make them signed int, because uint16_t is going to
be promoted to int in expressions anyway, while unsigned int isn't.
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to