Feb 19, 2020, 10:30 by one...@gmail.com: > Signed-off-by: Paul B Mahol <> one...@gmail.com> > > --- > libavcodec/Makefile | 1 + > libavcodec/allcodecs.c | 1 + > libavcodec/avcodec.h | 1 + > libavcodec/codec_desc.c | 7 + > libavcodec/siren.c | 776 ++++++++++++++++++++++++++++++++++++++++ > libavformat/vivo.c | 5 + > 6 files changed, 791 insertions(+) > create mode 100644 libavcodec/siren.c > > > + > + for (i = 0; i < 64; i++) { > + float region_power = powf(10, (i - 24) * 0.3010299957); > + > + s->standard_deviation[i] = sqrtf(region_power); > + } >
Remove the stray newline? > + > + for (int i = 0; i < rate_control; i++) { > + s->power_categories[s->category_balance[i]]++; > + } > No need for brackets. > + > + ret = decode_vector(s, s->number_of_regions, get_bits_left(gb), > + s->decoder_standard_deviation, s->power_categories, > + s->imdct_in, s->scale_factor); > + if (ret < 0) > + return ret; > + > + if (get_bits_left(gb) > 0) { > + do { > + if (!get_bits1(gb)) > + frame_error = 1; > frame_error |= !get_bits1(gb); > > + > + if (frame_error) { > + for (int i = 0; i < number_of_valid_coefs; i++) { > + s->imdct_in[i] = s->backup_frame[i]; > + s->backup_frame[i] = 0; > memcpy(s->imdct_in, s->backup_frame, number_of_valid_coefs*sizeof(float)); memset(s->backup_frame, 0, number_of_valid_coefs*sizeof(float)); > + } > + } else { > + for (int i = 0; i < number_of_valid_coefs; i++) > + s->backup_frame[i] = s->imdct_in[i]; > memcpy(s->backup_frame, s->imdct_in, number_of_valid_coefs*sizeof(float)); > + } > + > + frame->nb_samples = FRAME_SIZE; > + if ((ret = ff_get_buffer(avctx, frame, 0)) < 0) > + return ret; > + > + for (int i = 0; i < 320; i += 2) > + s->imdct_in[i] *= -1; > + > + s->tx_fn(s->tx_ctx, s->imdct_out, s->imdct_in, sizeof(float)); > + s->fdsp->vector_fmul_window((float *)frame->data[0], > + s->imdct_prev + (FRAME_SIZE >> 1), > + s->imdct_out, s->window, > + FRAME_SIZE >> 1); > + FFSWAP(float *, s->imdct_out, s->imdct_prev); > + > + *got_frame = 1; > + > + return avpkt->size; > Return AVERROR_INVALIDDATA if frame_error == 1? > + > + coefs_ptr = coefs + (region * s->region_size); > + > + if (category == 5) { > + i = 0; > + for (j = 0; j < s->region_size; j++) { > + if (*coefs_ptr != 0) { > + i++; > + } > No need for brackets here. > + coefs_ptr++; > + } > + > + noise = decoder_standard_deviation[region] * noise_category5[i]; > + } else if (category == 6) { > + i = 0; > + for (j = 0; j < s->region_size; j++) { > + if (*coefs_ptr++ != 0) > + i++; > + } > + > + noise = decoder_standard_deviation[region] * noise_category6[i]; > + } else if (category == 7) { > + noise = decoder_standard_deviation[region] * 0.70711f; > + } else { > + noise = 0; > + } > + > + coefs_ptr = coefs + (region * s->region_size); > + > + if (category == 5 || category == 6 || category == 7) { > + dw1 = get_dw(s); > + dw2 = get_dw(s); > + > + for (j = 0; j < 10; j++) { > + if (category == 7 || *coefs_ptr == 0) { > + if (dw1 & 1) > + *coefs_ptr = noise; > + else > + *coefs_ptr = -noise; > + } > *coefs_ptr = dw1 & 1 ? noise : -noise; > + coefs_ptr++; > + dw1 >>= 1; > + > + if (category == 7 || *coefs_ptr == 0) { > + if (dw2 & 1) > + *coefs_ptr = noise; > + else > + *coefs_ptr = -noise; > + } > + coefs_ptr++; > + dw2 >>= 1; > Same. Apart from that patch LGTM. _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".