mirror of
				https://github.com/nyanmisaka/ffmpeg-rockchip.git
				synced 2025-10-31 04:26:37 +08:00 
			
		
		
		
	lavc: use get_bitsz to simplify the code
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
This commit is contained in:
		| @@ -39,9 +39,6 @@ static VLC spec_vlc_tabs[112]; | |||||||
| static VLC gain_vlc_tabs[11]; | static VLC gain_vlc_tabs[11]; | ||||||
| static VLC tone_vlc_tabs[7]; | static VLC tone_vlc_tabs[7]; | ||||||
|  |  | ||||||
| #define GET_DELTA(gb, delta_bits) \ |  | ||||||
|     ((delta_bits) ? get_bits((gb), (delta_bits)) : 0) |  | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Generate canonical VLC table from given descriptor. |  * Generate canonical VLC table from given descriptor. | ||||||
|  * |  * | ||||||
| @@ -384,7 +381,7 @@ static int decode_channel_wordlen(GetBitContext *gb, Atrac3pChanUnitCtx *ctx, | |||||||
|                     chan->qu_wordlen[i] = get_bits(gb, 3); |                     chan->qu_wordlen[i] = get_bits(gb, 3); | ||||||
|  |  | ||||||
|                 for (i = pos; i < chan->num_coded_vals; i++) |                 for (i = pos; i < chan->num_coded_vals; i++) | ||||||
|                     chan->qu_wordlen[i] = (min_val + GET_DELTA(gb, delta_bits)) & 7; |                     chan->qu_wordlen[i] = (min_val + get_bitsz(gb, delta_bits)) & 7; | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|         break; |         break; | ||||||
| @@ -516,7 +513,7 @@ static int decode_channel_sf_idx(GetBitContext *gb, Atrac3pChanUnitCtx *ctx, | |||||||
|                 /* all others are: min_val + delta */ |                 /* all others are: min_val + delta */ | ||||||
|                 for (i = num_long_vals; i < ctx->used_quant_units; i++) |                 for (i = num_long_vals; i < ctx->used_quant_units; i++) | ||||||
|                     chan->qu_sf_idx[i] = (chan->qu_sf_idx[i] + min_val + |                     chan->qu_sf_idx[i] = (chan->qu_sf_idx[i] + min_val + | ||||||
|                                           GET_DELTA(gb, delta_bits)) & 0x3F; |                                           get_bitsz(gb, delta_bits)) & 0x3F; | ||||||
|             } else { |             } else { | ||||||
|                 num_long_vals = get_bits(gb, 5); |                 num_long_vals = get_bits(gb, 5); | ||||||
|                 delta_bits    = get_bits(gb, 3); |                 delta_bits    = get_bits(gb, 3); | ||||||
| @@ -534,7 +531,7 @@ static int decode_channel_sf_idx(GetBitContext *gb, Atrac3pChanUnitCtx *ctx, | |||||||
|                 /* all others are: min_val + delta */ |                 /* all others are: min_val + delta */ | ||||||
|                 for (i = num_long_vals; i < ctx->used_quant_units; i++) |                 for (i = num_long_vals; i < ctx->used_quant_units; i++) | ||||||
|                     chan->qu_sf_idx[i] = (min_val + |                     chan->qu_sf_idx[i] = (min_val + | ||||||
|                                           GET_DELTA(gb, delta_bits)) & 0x3F; |                                           get_bitsz(gb, delta_bits)) & 0x3F; | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|         break; |         break; | ||||||
| @@ -1014,7 +1011,7 @@ static int decode_gainc_npoints(GetBitContext *gb, Atrac3pChanUnitCtx *ctx, | |||||||
|             min_val    = get_bits(gb, 3); |             min_val    = get_bits(gb, 3); | ||||||
|  |  | ||||||
|             for (i = 0; i < coded_subbands; i++) { |             for (i = 0; i < coded_subbands; i++) { | ||||||
|                 chan->gain_data[i].num_points = min_val + GET_DELTA(gb, delta_bits); |                 chan->gain_data[i].num_points = min_val + get_bitsz(gb, delta_bits); | ||||||
|                 if (chan->gain_data[i].num_points > 7) |                 if (chan->gain_data[i].num_points > 7) | ||||||
|                     return AVERROR_INVALIDDATA; |                     return AVERROR_INVALIDDATA; | ||||||
|             } |             } | ||||||
| @@ -1134,7 +1131,7 @@ static int decode_gainc_levels(GetBitContext *gb, Atrac3pChanUnitCtx *ctx, | |||||||
|  |  | ||||||
|             for (sb = 0; sb < coded_subbands; sb++) |             for (sb = 0; sb < coded_subbands; sb++) | ||||||
|                 for (i = 0; i < chan->gain_data[sb].num_points; i++) { |                 for (i = 0; i < chan->gain_data[sb].num_points; i++) { | ||||||
|                     chan->gain_data[sb].lev_code[i] = min_val + GET_DELTA(gb, delta_bits); |                     chan->gain_data[sb].lev_code[i] = min_val + get_bitsz(gb, delta_bits); | ||||||
|                     if (chan->gain_data[sb].lev_code[i] > 15) |                     if (chan->gain_data[sb].lev_code[i] > 15) | ||||||
|                         return AVERROR_INVALIDDATA; |                         return AVERROR_INVALIDDATA; | ||||||
|                 } |                 } | ||||||
|   | |||||||
| @@ -155,7 +155,7 @@ static MacroBlock decode_macroblock(Escape124Context* s, GetBitContext* gb, | |||||||
|     // depth = 0 means that this shouldn't read any bits; |     // depth = 0 means that this shouldn't read any bits; | ||||||
|     // in theory, this is the same as get_bits(gb, 0), but |     // in theory, this is the same as get_bits(gb, 0), but | ||||||
|     // that doesn't actually work. |     // that doesn't actually work. | ||||||
|     block_index = depth ? get_bits(gb, depth) : 0; |     block_index = get_bitsz(gb, depth); | ||||||
|  |  | ||||||
|     if (*codebook_index == 1) { |     if (*codebook_index == 1) { | ||||||
|         block_index += superblock_index << s->codebooks[1].depth; |         block_index += superblock_index << s->codebooks[1].depth; | ||||||
|   | |||||||
| @@ -469,7 +469,7 @@ static int hls_slice_header(HEVCContext *s) | |||||||
|  |  | ||||||
|         slice_address_length = av_ceil_log2(s->ps.sps->ctb_width * |         slice_address_length = av_ceil_log2(s->ps.sps->ctb_width * | ||||||
|                                             s->ps.sps->ctb_height); |                                             s->ps.sps->ctb_height); | ||||||
|         sh->slice_segment_addr = slice_address_length ? get_bits(gb, slice_address_length) : 0; |         sh->slice_segment_addr = get_bitsz(gb, slice_address_length); | ||||||
|         if (sh->slice_segment_addr >= s->ps.sps->ctb_width * s->ps.sps->ctb_height) { |         if (sh->slice_segment_addr >= s->ps.sps->ctb_width * s->ps.sps->ctb_height) { | ||||||
|             av_log(s->avctx, AV_LOG_ERROR, |             av_log(s->avctx, AV_LOG_ERROR, | ||||||
|                    "Invalid slice segment address: %u.\n", |                    "Invalid slice segment address: %u.\n", | ||||||
|   | |||||||
| @@ -318,7 +318,7 @@ static inline int parse_nal_units(AVCodecParserContext *s, const uint8_t *buf, | |||||||
|  |  | ||||||
|                 slice_address_length = av_ceil_log2_c(ps->sps->ctb_width * |                 slice_address_length = av_ceil_log2_c(ps->sps->ctb_width * | ||||||
|                                                       ps->sps->ctb_height); |                                                       ps->sps->ctb_height); | ||||||
|                 sh->slice_segment_addr = slice_address_length ? get_bits(gb, slice_address_length) : 0; |                 sh->slice_segment_addr = get_bitsz(gb, slice_address_length); | ||||||
|                 if (sh->slice_segment_addr >= ps->sps->ctb_width * ps->sps->ctb_height) { |                 if (sh->slice_segment_addr >= ps->sps->ctb_width * ps->sps->ctb_height) { | ||||||
|                     av_log(avctx, AV_LOG_ERROR, "Invalid slice segment address: %u.\n", |                     av_log(avctx, AV_LOG_ERROR, "Invalid slice segment address: %u.\n", | ||||||
|                            sh->slice_segment_addr); |                            sh->slice_segment_addr); | ||||||
|   | |||||||
| @@ -93,7 +93,7 @@ static av_always_inline int get_tail(GetBitContext *gb, int k) | |||||||
|         return 0; |         return 0; | ||||||
|     p   = av_log2(k); |     p   = av_log2(k); | ||||||
|     e   = (1 << (p + 1)) - k - 1; |     e   = (1 << (p + 1)) - k - 1; | ||||||
|     res = p ? get_bits(gb, p) : 0; |     res = get_bitsz(gb, p); | ||||||
|     if (res >= e) |     if (res >= e) | ||||||
|         res = (res << 1) - e + get_bits1(gb); |         res = (res << 1) - e + get_bits1(gb); | ||||||
|     return res; |     return res; | ||||||
|   | |||||||
| @@ -422,8 +422,7 @@ static void decode_ac_filter(WmallDecodeCtx *s) | |||||||
|     s->acfilter_scaling = get_bits(&s->gb, 4); |     s->acfilter_scaling = get_bits(&s->gb, 4); | ||||||
|  |  | ||||||
|     for (i = 0; i < s->acfilter_order; i++) |     for (i = 0; i < s->acfilter_order; i++) | ||||||
|         s->acfilter_coeffs[i] = (s->acfilter_scaling ? |         s->acfilter_coeffs[i] = get_bitsz(&s->gb, s->acfilter_scaling) + 1; | ||||||
|                                  get_bits(&s->gb, s->acfilter_scaling) : 0) + 1; |  | ||||||
| } | } | ||||||
|  |  | ||||||
| static void decode_mclms(WmallDecodeCtx *s) | static void decode_mclms(WmallDecodeCtx *s) | ||||||
| @@ -436,7 +435,7 @@ static void decode_mclms(WmallDecodeCtx *s) | |||||||
|         if (1 << cbits < s->mclms_scaling + 1) |         if (1 << cbits < s->mclms_scaling + 1) | ||||||
|             cbits++; |             cbits++; | ||||||
|  |  | ||||||
|         send_coef_bits = (cbits ? get_bits(&s->gb, cbits) : 0) + 2; |         send_coef_bits = get_bitsz(&s->gb, cbits) + 2; | ||||||
|  |  | ||||||
|         for (i = 0; i < s->mclms_order * s->num_channels * s->num_channels; i++) |         for (i = 0; i < s->mclms_order * s->num_channels * s->num_channels; i++) | ||||||
|             s->mclms_coeffs[i] = get_bits(&s->gb, send_coef_bits); |             s->mclms_coeffs[i] = get_bits(&s->gb, send_coef_bits); | ||||||
| @@ -489,7 +488,7 @@ static int decode_cdlms(WmallDecodeCtx *s) | |||||||
|                 if ((1 << cbits) < s->cdlms[c][i].scaling + 1) |                 if ((1 << cbits) < s->cdlms[c][i].scaling + 1) | ||||||
|                     cbits++; |                     cbits++; | ||||||
|  |  | ||||||
|                 s->cdlms[c][i].bitsend = (cbits ? get_bits(&s->gb, cbits) : 0) + 2; |                 s->cdlms[c][i].bitsend = get_bitsz(&s->gb, cbits) + 2; | ||||||
|                 shift_l = 32 - s->cdlms[c][i].bitsend; |                 shift_l = 32 - s->cdlms[c][i].bitsend; | ||||||
|                 shift_r = 32 - s->cdlms[c][i].scaling - 2; |                 shift_r = 32 - s->cdlms[c][i].scaling - 2; | ||||||
|                 for (j = 0; j < s->cdlms[c][i].coefsend; j++) |                 for (j = 0; j < s->cdlms[c][i].coefsend; j++) | ||||||
|   | |||||||
| @@ -1222,7 +1222,7 @@ static int decode_subframe(WMAProDecodeCtx *s) | |||||||
|         int num_fill_bits; |         int num_fill_bits; | ||||||
|         if (!(num_fill_bits = get_bits(&s->gb, 2))) { |         if (!(num_fill_bits = get_bits(&s->gb, 2))) { | ||||||
|             int len = get_bits(&s->gb, 4); |             int len = get_bits(&s->gb, 4); | ||||||
|             num_fill_bits = (len ? get_bits(&s->gb, len) : 0) + 1; |             num_fill_bits = get_bitsz(&s->gb, len) + 1; | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         if (num_fill_bits >= 0) { |         if (num_fill_bits >= 0) { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Andreas Cadhalpun
					Andreas Cadhalpun