diff options
| author | Martin Vignali <[email protected]> | 2018-11-17 23:37:00 +0100 | 
|---|---|---|
| committer | Martin Vignali <[email protected]> | 2018-12-02 12:55:44 +0100 | 
| commit | 859604fe9d680fbd1abc4b78a528909904874d95 (patch) | |
| tree | 6eadfaeb54e7df740d886608cc516706bef9cc5d | |
| parent | 1cccf9365df0351467eca13313ae989da5c2b0f3 (diff) | |
avcodec/proresdec : make inline func for unpack alpha
| -rw-r--r-- | libavcodec/proresdec2.c | 16 | 
1 files changed, 12 insertions, 4 deletions
diff --git a/libavcodec/proresdec2.c b/libavcodec/proresdec2.c index 94323df128..40d15720ba 100644 --- a/libavcodec/proresdec2.c +++ b/libavcodec/proresdec2.c @@ -46,9 +46,8 @@ static void permute(uint8_t *dst, const uint8_t *src, const uint8_t permutation[          dst[i] = permutation[src[i]];  } -static void unpack_alpha_10(GetBitContext *gb, uint16_t *dst, int num_coeffs, -                            const int num_bits) -{ +static void inline unpack_alpha(GetBitContext *gb, uint16_t *dst, int num_coeffs, +                                const int num_bits, const int decode_precision) {      const int mask = (1 << num_bits) - 1;      int i, idx, val, alpha_val; @@ -86,11 +85,20 @@ static void unpack_alpha_10(GetBitContext *gb, uint16_t *dst, int num_coeffs,          } else {              for (i = 0; i < val; i++)                  dst[idx++] = (alpha_val << 2) | (alpha_val >> 6); -          }      } while (idx < num_coeffs);  } +static void unpack_alpha_10(GetBitContext *gb, uint16_t *dst, int num_coeffs, +                            const int num_bits) +{ +    if (num_bits == 16) { +        unpack_alpha(gb, dst, num_coeffs, 16, 10); +    } else { /* 8 bits alpha */ +        unpack_alpha(gb, dst, num_coeffs, 8, 10); +    } +} +  static av_cold int decode_init(AVCodecContext *avctx)  {      int ret = 0;  | 
