Home | History | Annotate | Download | only in libFLAC

Lines Matching refs:protected_

345 	FLAC__StreamMetadata_SeekTable *seek_table;       /* pointer into encoder->protected_->metadata_ where the seek table is */
517 encoder->protected_ = calloc(1, sizeof(FLAC__StreamEncoderProtected));
518 if(encoder->protected_ == 0) {
525 free(encoder->protected_);
533 free(encoder->protected_);
572 encoder->protected_->state = FLAC__STREAM_ENCODER_UNINITIALIZED;
584 FLAC__ASSERT(0 != encoder->protected_);
608 free(encoder->protected_);
634 if(encoder->protected_->state != FLAC__STREAM_ENCODER_UNINITIALIZED)
645 if(encoder->protected_->channels == 0 || encoder->protected_->channels > FLAC__MAX_CHANNELS)
648 if(encoder->protected_->channels != 2) {
649 encoder->protected_->do_mid_side_stereo = false;
650 encoder->protected_->loose_mid_side_stereo = false;
652 else if(!encoder->protected_->do_mid_side_stereo)
653 encoder->protected_->loose_mid_side_stereo = false;
655 if(encoder->protected_->bits_per_sample >= 32)
656 encoder->protected_->do_mid_side_stereo = false; /* since we currenty do 32-bit math, the side channel would have 33 bps and overflow */
658 if(encoder->protected_->bits_per_sample < FLAC__MIN_BITS_PER_SAMPLE || encoder->protected_->bits_per_sample > FLAC__REFERENCE_CODEC_MAX_BITS_PER_SAMPLE)
661 if(!FLAC__format_sample_rate_is_valid(encoder->protected_->sample_rate))
664 if(encoder->protected_->blocksize == 0) {
665 if(encoder->protected_->max_lpc_order == 0)
666 encoder->protected_->blocksize = 1152;
668 encoder->protected_->blocksize = 4096;
671 if(encoder->protected_->blocksize < FLAC__MIN_BLOCK_SIZE || encoder->protected_->blocksize > FLAC__MAX_BLOCK_SIZE)
674 if(encoder->protected_->max_lpc_order > FLAC__MAX_LPC_ORDER)
677 if(encoder->protected_->blocksize < encoder->protected_->max_lpc_order)
680 if(encoder->protected_->qlp_coeff_precision == 0) {
681 if(encoder->protected_->bits_per_sample < 16) {
684 encoder->protected_->qlp_coeff_precision = flac_max(FLAC__MIN_QLP_COEFF_PRECISION, 2 + encoder->protected_->bits_per_sample / 2);
686 else if(encoder->protected_->bits_per_sample == 16) {
687 if(encoder->protected_->blocksize <= 192)
688 encoder->protected_->qlp_coeff_precision = 7;
689 else if(encoder->protected_->blocksize <= 384)
690 encoder->protected_->qlp_coeff_precision = 8;
691 else if(encoder->protected_->blocksize <= 576)
692 encoder->protected_->qlp_coeff_precision = 9;
693 else if(encoder->protected_->blocksize <= 1152)
694 encoder->protected_->qlp_coeff_precision = 10;
695 else if(encoder->protected_->blocksize <= 2304)
696 encoder->protected_->qlp_coeff_precision = 11;
697 else if(encoder->protected_->blocksize <= 4608)
698 encoder->protected_->qlp_coeff_precision = 12;
700 encoder->protected_->qlp_coeff_precision = 13;
703 if(encoder->protected_->blocksize <= 384)
704 encoder->protected_->qlp_coeff_precision = FLAC__MAX_QLP_COEFF_PRECISION-2;
705 else if(encoder->protected_->blocksize <= 1152)
706 encoder->protected_->qlp_coeff_precision = FLAC__MAX_QLP_COEFF_PRECISION-1;
708 encoder->protected_->qlp_coeff_precision = FLAC__MAX_QLP_COEFF_PRECISION;
710 FLAC__ASSERT(encoder->protected_->qlp_coeff_precision <= FLAC__MAX_QLP_COEFF_PRECISION);
712 else if(encoder->protected_->qlp_coeff_precision < FLAC__MIN_QLP_COEFF_PRECISION || encoder->protected_->qlp_coeff_precision > FLAC__MAX_QLP_COEFF_PRECISION)
715 if(encoder->protected_->streamable_subset) {
716 if(!FLAC__format_blocksize_is_subset(encoder->protected_->blocksize, encoder->protected_->sample_rate))
718 if(!FLAC__format_sample_rate_is_subset(encoder->protected_->sample_rate))
721 encoder->protected_->bits_per_sample != 8 &&
722 encoder->protected_->bits_per_sample != 12 &&
723 encoder->protected_->bits_per_sample != 16 &&
724 encoder->protected_->bits_per_sample != 20 &&
725 encoder->protected_->bits_per_sample != 24
728 if(encoder->protected_->max_residual_partition_order > FLAC__SUBSET_MAX_RICE_PARTITION_ORDER)
731 encoder->protected_->sample_rate <= 48000 &&
733 encoder->protected_->blocksize > FLAC__SUBSET_MAX_BLOCK_SIZE_48000HZ ||
734 encoder->protected_->max_lpc_order > FLAC__SUBSET_MAX_LPC_ORDER_48000HZ
741 if(encoder->protected_->max_residual_partition_order >= (1u << FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ORDER_LEN))
742 encoder->protected_->max_residual_partition_order = (1u << FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ORDER_LEN) - 1;
743 if(encoder->protected_->min_residual_partition_order >= encoder->protected_->max_residual_partition_order)
744 encoder->protected_->min_residual_partition_order = encoder->protected_->max_residual_partition_order;
748 if(is_ogg && 0 != encoder->protected_->metadata && encoder->protected_->num_metadata_blocks > 1) {
750 for(i1 = 1; i1 < encoder->protected_->num_metadata_blocks; i1++) {
751 if(0 != encoder->protected_->metadata[i1] && encoder->protected_->metadata[i1]->type == FLAC__METADATA_TYPE_VORBIS_COMMENT) {
752 FLAC__StreamMetadata *vc = encoder->protected_->metadata[i1];
754 encoder->protected_->metadata[i1] = encoder->protected_->metadata[i1-1];
755 encoder->protected_->metadata[0] = vc;
762 if(0 != encoder->protected_->metadata && encoder->protected_->num_metadata_blocks > 0) {
764 for(i2 = 0; i2 < encoder->protected_->num_metadata_blocks; i2++) {
765 if(0 != encoder->protected_->metadata[i2] && encoder->protected_->metadata[i2]->type == FLAC__METADATA_TYPE_SEEKTABLE) {
766 encoder->private_->seek_table = &encoder->protected_->metadata[i2]->data.seek_table;
773 if(0 == encoder->protected_->metadata && encoder->protected_->num_metadata_blocks > 0)
779 for(i = 0; i < encoder->protected_->num_metadata_blocks; i++) {
780 const FLAC__StreamMetadata *m = encoder->protected_->metadata[i];
826 for(i = 0; i < encoder->protected_->channels; i++) {
839 for(i = 0; i < encoder->protected_->num_apodizations; i++)
843 for(i = 0; i < encoder->protected_->channels; i++) {
856 encoder->private_->loose_mid_side_stereo_frames = (unsigned)((FLAC__double)encoder->protected_->sample_rate * 0.4 / (FLAC__double)encoder->protected_->blocksize + 0.5);
862 FLAC__ASSERT(encoder->protected_->sample_rate <= 655350);
863 FLAC__ASSERT(encoder->protected_->blocksize <= 65535);
864 encoder->private_->loose_mid_side_stereo_frames = (unsigned)FLAC__fixedpoint_trunc((((FLAC__uint64)(encoder->protected_->sample_rate) * (FLAC__uint64)(26214)) << 16) / (encoder->protected_->blocksize<<16) + FLAC__FP_ONE_HALF);
872 encoder->private_->use_wide_by_block = (encoder->protected_->bits_per_sample + FLAC__bitmath_ilog2(encoder->protected_->blocksize)+1 > 30);
873 encoder->private_->use_wide_by_order = (encoder->protected_->bits_per_sample + FLAC__bitmath_ilog2(flac_max(encoder->protected_->max_lpc_order, FLAC__MAX_FIXED_ORDER))+1 > 30); /*@@@ need to use this? */
900 if(encoder->protected_->max_lpc_order < 4)
902 else if(encoder->protected_->max_lpc_order < 8)
904 else if(encoder->protected_->max_lpc_order < 12)
906 else if(encoder->protected_->max_lpc_order < 16)
931 if(encoder->protected_->max_lpc_order < 4)
933 else if(encoder->protected_->max_lpc_order < 8)
935 else if(encoder->protected_->max_lpc_order < 12)
937 else if(encoder->protected_->max_lpc_order < 16)
943 if(encoder->protected_->max_lpc_order < 4)
945 else if(encoder->protected_->max_lpc_order < 8)
947 else if(encoder->protected_->max_lpc_order < 12)
949 else if(encoder->protected_->max_lpc_order < 16)
995 if(encoder->protected_->max_lpc_order < 4)
997 else if(encoder->protected_->max_lpc_order < 8)
999 else if(encoder->protected_->max_lpc_order < 12)
1001 else if(encoder->protected_->max_lpc_order < 16)
1005 if(encoder->protected_->max_lpc_order < 4)
1007 else if(encoder->protected_->max_lpc_order < 8)
1009 else if(encoder->protected_->max_lpc_order < 12)
1011 else if(encoder->protected_->max_lpc_order < 16)
1083 encoder->protected_->state = FLAC__STREAM_ENCODER_OK;
1087 if(is_ogg && !FLAC__ogg_encoder_aspect_init(&encoder->protected_->ogg_encoder_aspect)) {
1088 encoder->protected_->state = FLAC__STREAM_ENCODER_OGG_ERROR;
1100 if(!resize_buffers_(encoder, encoder->protected_->blocksize)) {
1106 encoder->protected_->state = FLAC__STREAM_ENCODER_MEMORY_ALLOCATION_ERROR;
1113 if(encoder->protected_->verify) {
1118 encoder->private_->verify.input_fifo.size = encoder->protected_->blocksize+OVERREAD_;
1119 for(i = 0; i < encoder->protected_->channels; i++) {
1121 encoder->protected_->state = FLAC__STREAM_ENCODER_MEMORY_ALLOCATION_ERROR;
1133 encoder->protected_->state = FLAC__STREAM_ENCODER_VERIFY_DECODER_ERROR;
1139 encoder->protected_->state = FLAC__STREAM_ENCODER_VERIFY_DECODER_ERROR;
1156 encoder->protected_->streaminfo_offset = 0;
1157 encoder->protected_->seektable_offset = 0;
1158 encoder->protected_->audio_offset = 0;
1163 if(encoder->protected_->verify)
1166 encoder->protected_->state = FLAC__STREAM_ENCODER_FRAMING_ERROR;
1177 if(encoder->protected_->verify)
1182 encoder->private_->streaminfo.data.stream_info.min_blocksize = encoder->protected_->blocksize; /* this encoder uses the same blocksize for the whole stream */
1183 encoder->private_->streaminfo.data.stream_info.max_blocksize = encoder->protected_->blocksize;
1186 encoder->private_->streaminfo.data.stream_info.sample_rate = encoder->protected_->sample_rate;
1187 encoder->private_->streaminfo.data.stream_info.channels = encoder->protected_->channels;
1188 encoder->private_->streaminfo.data.stream_info.bits_per_sample = encoder->protected_->bits_per_sample;
1189 encoder->private_->streaminfo.data.stream_info.total_samples = encoder->protected_->total_samples_estimate; /* we will replace this later with the real total */
1191 if(encoder->protected_->do_md5)
1194 encoder->protected_->state = FLAC__STREAM_ENCODER_FRAMING_ERROR;
1223 vorbis_comment.is_last = (encoder->protected_->num_metadata_blocks == 0);
1230 encoder->protected_->state = FLAC__STREAM_ENCODER_FRAMING_ERROR;
1242 for(i = 0; i < encoder->protected_->num_metadata_blocks; i++) {
1243 encoder->protected_->metadata[i]->is_last = (i == encoder->protected_->num_metadata_blocks - 1);
1244 if(!FLAC__add_metadata_block(encoder->protected_->metadata[i], encoder->private_->frame)) {
1245 encoder->protected_->state = FLAC__STREAM_ENCODER_FRAMING_ERROR;
1255 if(encoder->private_->tell_callback && encoder->private_->tell_callback(encoder, &encoder->protected_->audio_offset, encoder->private_->client_data) == FLAC__STREAM_ENCODER_TELL_STATUS_ERROR) { /* FLAC__STREAM_ENCODER_TELL_STATUS_UNSUPPORTED just means we didn't get the offset; no error */
1256 encoder->protected_->state = FLAC__STREAM_ENCODER_CLIENT_ERROR;
1260 if(encoder->protected_->verify)
1322 if(encoder->protected_->state != FLAC__STREAM_ENCODER_UNINITIALIZED)
1327 encoder->protected_->state = FLAC__STREAM_ENCODER_IO_ERROR;
1415 if(encoder->protected_->state != FLAC__STREAM_ENCODER_UNINITIALIZED)
1421 encoder->protected_->state = FLAC__STREAM_ENCODER_IO_ERROR;
1454 protected_);
1456 if(encoder->protected_->state == FLAC__STREAM_ENCODER_UNINITIALIZED)
1459 if(encoder->protected_->state == FLAC__STREAM_ENCODER_OK && !encoder->private_->is_being_deleted) {
1461 const FLAC__bool is_fractional_block = encoder->protected_->blocksize != encoder->private_->current_sample_number;
1462 encoder->protected_->blocksize = encoder->private_->current_sample_number;
1468 if(encoder->protected_->do_md5)
1472 if(encoder->protected_->state == FLAC__STREAM_ENCODER_OK) {
1482 if(encoder->protected_->state != FLAC__STREAM_ENCODER_OK)
1489 if(encoder->protected_->verify && 0 != encoder->private_->verify.decoder && !FLAC__stream_decoder_finish(encoder->private_->verify.decoder)) {
1491 encoder->protected_->state = FLAC__STREAM_ENCODER_VERIFY_MISMATCH_IN_AUDIO_DATA;
1504 FLAC__ogg_encoder_aspect_finish(&encoder->protected_->ogg_encoder_aspect);
1511 encoder->protected_->state = FLAC__STREAM_ENCODER_UNINITIALIZED;
1520 FLAC__ASSERT(0 != encoder->protected_);
1521 if(encoder->protected_->state != FLAC__STREAM_ENCODER_UNINITIALIZED)
1525 FLAC__ogg_encoder_aspect_set_serial_number(&encoder->protected_->ogg_encoder_aspect, value);
1537 FLAC__ASSERT(0 != encoder->protected_);
1538 if(encoder->protected_->state != FLAC__STREAM_ENCODER_UNINITIALIZED)
1541 encoder->protected_->verify = value;
1550 FLAC__ASSERT(0 != encoder->protected_);
1551 if(encoder->protected_->state != FLAC__STREAM_ENCODER_UNINITIALIZED)
1553 encoder->protected_->streamable_subset = value;
1561 FLAC__ASSERT(0 != encoder->protected_);
1562 if(encoder->protected_->state != FLAC__STREAM_ENCODER_UNINITIALIZED)
1564 encoder->protected_->do_md5 = value;
1572 FLAC__ASSERT(0 != encoder->protected_);
1573 if(encoder->protected_->state != FLAC__STREAM_ENCODER_UNINITIALIZED)
1575 encoder->protected_->channels = value;
1583 FLAC__ASSERT(0 != encoder->protected_);
1584 if(encoder->protected_->state != FLAC__STREAM_ENCODER_UNINITIALIZED)
1586 encoder->protected_->bits_per_sample = value;
1594 FLAC__ASSERT(0 != encoder->protected_);
1595 if(encoder->protected_->state != FLAC__STREAM_ENCODER_UNINITIALIZED)
1597 encoder->protected_->sample_rate = value;
1606 FLAC__ASSERT(0 != encoder->protected_);
1607 if(encoder->protected_->state != FLAC__STREAM_ENCODER_UNINITIALIZED)
1618 encoder->protected_->num_apodizations = 1;
1619 encoder->protected_->apodizations[0].type = FLAC__APODIZATION_TUKEY;
1620 encoder->protected_->apodizations[0].parameters.tukey.p = 0.5;
1638 FLAC__ASSERT(0 != encoder->protected_);
1639 if(encoder->protected_->state != FLAC__STREAM_ENCODER_UNINITIALIZED)
1641 encoder->protected_->blocksize = value;
1649 FLAC__ASSERT(0 != encoder->protected_);
1650 if(encoder->protected_->state != FLAC__STREAM_ENCODER_UNINITIALIZED)
1652 encoder->protected_->do_mid_side_stereo = value;
1660 FLAC__ASSERT(0 != encoder->protected_);
1661 if(encoder->protected_->state != FLAC__STREAM_ENCODER_UNINITIALIZED)
1663 encoder->protected_->loose_mid_side_stereo = value;
1672 FLAC__ASSERT(0 != encoder->protected_);
1674 if(encoder->protected_->state != FLAC__STREAM_ENCODER_UNINITIALIZED)
1679 encoder->protected_->num_apodizations = 0;
1684 encoder->protected_->apodizations[encoder->protected_->num_apodizations++].type = FLAC__APODIZATION_BARTLETT;
1686 encoder->protected_->apodizations[encoder->protected_->num_apodizations++].type = FLAC__APODIZATION_BARTLETT_HANN;
1688 encoder->protected_->apodizations[encoder->protected_->num_apodizations++].type = FLAC__APODIZATION_BLACKMAN;
1690 encoder->protected_->apodizations[encoder->protected_->num_apodizations++].type = FLAC__APODIZATION_BLACKMAN_HARRIS_4TERM_92DB_SIDELOBE;
1692 encoder->protected_->apodizations[encoder->protected_->num_apodizations++].type = FLAC__APODIZATION_CONNES;
1694 encoder->protected_->apodizations[encoder->protected_->num_apodizations++].type = FLAC__APODIZATION_FLATTOP;
1698 encoder->protected_->apodizations[encoder->protected_->num_apodizations].parameters.gauss.stddev = stddev;
1699 encoder->protected_->apodizations[encoder->protected_->num_apodizations++].type = FLAC__APODIZATION_GAUSS;
1703 encoder->protected_->apodizations[encoder->protected_->num_apodizations++].type = FLAC__APODIZATION_HAMMING;
1705 encoder->protected_->apodizations[encoder->protected_->num_apodizations++].type = FLAC__APODIZATION_HANN;
1707 encoder->protected_->apodizations[encoder->protected_->num_apodizations++].type = FLAC__APODIZATION_KAISER_BESSEL;
1709 encoder->protected_->apodizations[encoder->protected_->num_apodizations++].type = FLAC__APODIZATION_NUTTALL;
1711 encoder->protected_->apodizations[encoder->protected_->num_apodizations++].type = FLAC__APODIZATION_RECTANGLE;
1713 encoder->protected_->apodizations[encoder->protected_->num_apodizations++].type = FLAC__APODIZATION_TRIANGLE;
1717 encoder->protected_->apodizations[encoder->protected_->num_apodizations].parameters.tukey.p = p;
1718 encoder->protected_->apodizations[encoder->protected_->num_apodizations++].type = FLAC__APODIZATION_TUKEY;
1730 encoder->protected_->apodizations[encoder->protected_->num_apodizations].parameters.tukey.p = tukey_p;
1731 encoder->protected_->apodizations[encoder->protected_->num_apodizations++].type = FLAC__APODIZATION_TUKEY;
1732 }else if (encoder->protected_->num_apodizations + tukey_parts < 32){
1735 encoder->protected_->apodizations[encoder->protected_->num_apodizations].parameters.multiple_tukey.p = tukey_p;
1736 encoder->protected_->apodizations[encoder->protected_->num_apodizations].parameters.multiple_tukey.start = m/(tukey_parts+overlap_units);
1737 encoder->protected_->apodizations[encoder->protected_->num_apodizations].parameters.multiple_tukey.end = (m+1+overlap_units)/(tukey_parts+overlap_units);
1738 encoder->protected_->apodizations[encoder->protected_->num_apodizations++].type = FLAC__APODIZATION_PARTIAL_TUKEY;
1751 encoder->protected_->apodizations[encoder->protected_->num_apodizations].parameters.tukey.p = tukey_p;
1752 encoder->protected_->apodizations[encoder->protected_->num_apodizations++].type = FLAC__APODIZATION_TUKEY;
1753 }else if (encoder->protected_->num_apodizations + tukey_parts < 32){
1756 encoder->protected_->apodizations[encoder->protected_->num_apodizations].parameters.multiple_tukey.p = tukey_p;
1757 encoder->protected_->apodizations[encoder->protected_->num_apodizations].parameters.multiple_tukey.start = m/(tukey_parts+overlap_units);
1758 encoder->protected_->apodizations[encoder->protected_->num_apodizations].parameters.multiple_tukey.end = (m+1+overlap_units)/(tukey_parts+overlap_units);
1759 encoder->protected_->apodizations[encoder->protected_->num_apodizations++].type = FLAC__APODIZATION_PUNCHOUT_TUKEY;
1764 encoder->protected_->apodizations[encoder->protected_->num_apodizations++].type = FLAC__APODIZATION_WELCH;
1765 if (encoder->protected_->num_apodizations == 32)
1772 if(encoder->protected_->num_apodizations == 0) {
1773 encoder->protected_->num_apodizations = 1;
1774 encoder->protected_->apodizations[0].type = FLAC__APODIZATION_TUKEY;
1775 encoder->protected_->apodizations[0].parameters.tukey.p = 0.5;
1785 FLAC__ASSERT(0 != encoder->protected_);
1786 if(encoder->protected_->state != FLAC__STREAM_ENCODER_UNINITIALIZED)
1788 encoder->protected_->max_lpc_order = value;
1796 FLAC__ASSERT(0 != encoder->protected_);
1797 if(encoder->protected_->state != FLAC__STREAM_ENCODER_UNINITIALIZED)
1799 encoder->protected_->qlp_coeff_precision = value;
1807 FLAC__ASSERT(0 != encoder->protected_);
1808 if(encoder->protected_->state != FLAC__STREAM_ENCODER_UNINITIALIZED)
1810 encoder->protected_->do_qlp_coeff_prec_search = value;
1818 FLAC__ASSERT(0 != encoder->protected_);
1819 protected_->state != FLAC__STREAM_ENCODER_UNINITIALIZED)
1823 encoder->protected_->do_escape_coding = value;
1834 FLAC__ASSERT(0 != encoder->protected_);
1835 if(encoder->protected_->state != FLAC__STREAM_ENCODER_UNINITIALIZED)
1837 encoder->protected_->do_exhaustive_model_search = value;
1845 FLAC__ASSERT(0 != encoder->protected_);
1846 if(encoder->protected_->state != FLAC__STREAM_ENCODER_UNINITIALIZED)
1848 encoder->protected_->min_residual_partition_order = value;
1856 FLAC__ASSERT(0 != encoder->protected_);
1857 if(encoder->protected_->state != FLAC__STREAM_ENCODER_UNINITIALIZED)
1859 encoder->protected_->max_residual_partition_order = value;
1867 FLAC__ASSERT(0 != encoder->protected_);
1868 if(encoder->protected_->state != FLAC__STREAM_ENCODER_UNINITIALIZED)
1872 encoder->protected_->rice_parameter_search_dist = value;
1883 FLAC__ASSERT(0 != encoder->protected_);
1884 if(encoder->protected_->state != FLAC__STREAM_ENCODER_UNINITIALIZED)
1886 encoder->protected_->total_samples_estimate = value;
1894 FLAC__ASSERT(0 != encoder->protected_);
1895 if(encoder->protected_->state != FLAC__STREAM_ENCODER_UNINITIALIZED)
1902 if(encoder->protected_->metadata) {
1903 free(encoder->protected_->metadata);
1904 encoder->protected_->metadata = 0;
1905 encoder->protected_->num_metadata_blocks = 0;
1912 encoder->protected_->metadata = m;
1913 encoder->protected_->num_metadata_blocks = num_blocks;
1916 if(!FLAC__ogg_encoder_aspect_set_num_metadata(&encoder->protected_->ogg_encoder_aspect, num_blocks))
1930 FLAC__ASSERT(0 != encoder->protected_);
1931 if(encoder->protected_->state != FLAC__STREAM_ENCODER_UNINITIALIZED)
1941 FLAC__ASSERT(0 != encoder->protected_);
1942 if(encoder->protected_->state != FLAC__STREAM_ENCODER_UNINITIALIZED)
1952 FLAC__ASSERT(0 != encoder->protected_);
1953 if(encoder->protected_->state != FLAC__STREAM_ENCODER_UNINITIALIZED)
1963 FLAC__ASSERT(0 != encoder->protected_);
1964 return encoder->protected_->state;
1971 FLAC__ASSERT(0 != encoder->protected_);
1972 if(encoder->protected_->verify)
1982 FLAC__ASSERT(0 != encoder->protected_);
1983 if(encoder->protected_->state != FLAC__STREAM_ENCODER_VERIFY_DECODER_ERROR)
1984 return FLAC__StreamEncoderStateString[encoder->protected_->state];
1993 FLAC__ASSERT(0 != encoder->protected_);
2012 FLAC__ASSERT(0 != encoder->protected_);
2013 return encoder->protected_->verify;
2020 FLAC__ASSERT(0 != encoder->protected_);
2021 return encoder->protected_->streamable_subset;
2028 FLAC__ASSERT(0 != encoder->protected_);
2029 return encoder->protected_->do_md5;
2036 FLAC__ASSERT(0 != encoder->protected_);
2037 return encoder->protected_->channels;
2044 FLAC__ASSERT(0 != encoder->protected_);
2045 return encoder->protected_->bits_per_sample;
2052 FLAC__ASSERT(0 != encoder->protected_);
2053 return encoder->protected_->sample_rate;
2060 FLAC__ASSERT(0 != encoder->protected_);
2061 return encoder->protected_->blocksize;
2068 FLAC__ASSERT(0 != encoder->protected_);
2069 return encoder->protected_->do_mid_side_stereo;
2076 FLAC__ASSERT(0 != encoder->protected_);
2077 return encoder->protected_->loose_mid_side_stereo;
2084 FLAC__ASSERT(0 != encoder->protected_);
2085 return encoder->protected_->max_lpc_order;
2092 FLAC__ASSERT(0 != encoder->protected_);
2093 return encoder->protected_->qlp_coeff_precision;
2100 FLAC__ASSERT(0 != encoder->protected_);
2101 return encoder->protected_->do_qlp_coeff_prec_search;
2108 FLAC__ASSERT(0 != encoder->protected_);
2109 return encoder->protected_->do_escape_coding;
2116 FLAC__ASSERT(0 != encoder->protected_);
2117 return encoder->protected_->do_exhaustive_model_search;
2124 FLAC__ASSERT(0 != encoder->protected_);
2125 return encoder->protected_->min_residual_partition_order;
2132 FLAC__ASSERT(0 != encoder->protected_);
2133 return encoder->protected_->max_residual_partition_order;
2140 FLAC__ASSERT(0 != encoder->protected_);
2141 return encoder->protected_->rice_parameter_search_dist;
2148 FLAC__ASSERT(0 != encoder->protected_);
2149 return encoder->protected_->total_samples_estimate;
2155 const unsigned channels = encoder->protected_->channels, blocksize = encoder->protected_->blocksize;
2159 FLAC__ASSERT(0 != encoder->protected_);
2160 FLAC__ASSERT(encoder->protected_->state == FLAC__STREAM_ENCODER_OK);
2167 if(encoder->protected_->verify)
2172 encoder->protected_->state = FLAC__STREAM_ENCODER_WRITE_STATUS_FATAL_ERROR;
2178 if(encoder->protected_->do_mid_side_stereo) {
2200 if(encoder->protected_->do_mid_side_stereo) {
2215 const unsigned channels = encoder->protected_->channels, blocksize = encoder->protected_->blocksize;
2219 FLAC__ASSERT(0 != encoder->protected_);
2220 FLAC__ASSERT(encoder->protected_->state == FLAC__STREAM_ENCODER_OK);
2227 if(encoder->protected_->do_mid_side_stereo && channels == 2) {
2232 if(encoder->protected_->verify)
2267 if(encoder->protected_->verify)
2304 encoder->protected_->verify = true;
2306 encoder->protected_->verify = false;
2308 encoder->protected_->streamable_subset = true;
2309 encoder->protected_->do_md5 = true;
2310 encoder->protected_->do_mid_side_stereo = false;
2311 encoder->protected_->loose_mid_side_stereo = false;
2312 encoder->protected_->channels = 2;
2313 encoder->protected_->bits_per_sample = 16;
2314 encoder->protected_->sample_rate = 44100;
2315 encoder->protected_->blocksize = 0;
2317 encoder->protected_->num_apodizations = 1;
2318 encoder->protected_->apodizations[0].type = FLAC__APODIZATION_TUKEY;
2319 encoder->protected_->apodizations[0].parameters.tukey.p = 0.5;
2321 encoder->protected_->max_lpc_order = 0;
2322 encoder->protected_->qlp_coeff_precision = 0;
2323 encoder->protected_->do_qlp_coeff_prec_search = false;
2324 encoder->protected_->do_exhaustive_model_search = false;
2325 encoder->protected_->do_escape_coding = false;
2326 encoder->protected_->min_residual_partition_order = 0;
2327 encoder->protected_->max_residual_partition_order = 0;
2328 encoder->protected_->rice_parameter_search_dist = 0;
2329 encoder->protected_->total_samples_estimate = 0;
2330 encoder->protected_->metadata = 0;
2331 encoder->protected_->num_metadata_blocks = 0;
2349 FLAC__ogg_encoder_aspect_set_defaults(&encoder->protected_->ogg_encoder_aspect);
2360 if(encoder->protected_->metadata) {
2361 free(encoder->protected_->metadata);
2362 encoder->protected_->metadata = 0;
2363 encoder->protected_->num_metadata_blocks = 0;
2365 for(i = 0; i < encoder->protected_->channels; i++) {
2390 for(i = 0; i < encoder->protected_->num_apodizations; i++) {
2401 for(channel = 0; channel < encoder->protected_->channels; channel++) {
2425 if(encoder->protected_->verify) {
2426 for(i = 0; i < encoder->protected_->channels; i++) {
2442 FLAC__ASSERT(encoder->protected_->state == FLAC__STREAM_ENCODER_OK);
2457 for(i = 0; ok && i < encoder->protected_->channels; i++) {
2463 if(encoder->protected_->max_lpc_order > 0)
2474 if(encoder->protected_->max_lpc_order > 0)
2480 if(ok && encoder->protected_->max_lpc_order > 0) {
2481 for(i = 0; ok && i < encoder->protected_->num_apodizations; i++)
2486 for(channel = 0; ok && channel < encoder->protected_->channels; channel++) {
2499 if(encoder->protected_->do_escape_coding)
2504 if(ok && new_blocksize != encoder->private_->input_capacity && encoder->protected_->max_lpc_order > 0) {
2505 for(i = 0; ok && i < encoder->protected_->num_apodizations; i++) {
2506 switch(encoder->protected_->apodizations[i].type) {
2526 FLAC__window_gauss(encoder->private_->window[i], new_blocksize, encoder->protected_->apodizations[i].parameters.gauss.stddev);
2547 FLAC__window_tukey(encoder->private_->window[i], new_blocksize, encoder->protected_->apodizations[i].parameters.tukey.p);
2550 FLAC__window_partial_tukey(encoder->private_->window[i], new_blocksize, encoder->protected_->apodizations[i].parameters.multiple_tukey.p, encoder->protected_->apodizations[i].parameters.multiple_tukey.start, encoder->protected_->apodizations[i].parameters.multiple_tukey.end);
2553 FLAC__window_punchout_tukey(encoder->private_->window[i], new_blocksize, encoder->protected_->apodizations[i].parameters.multiple_tukey.p, encoder->protected_->apodizations[i].parameters.multiple_tukey.start, encoder->protected_->apodizations[i].parameters.multiple_tukey.end);
2571 encoder->protected_->state = FLAC__STREAM_ENCODER_MEMORY_ALLOCATION_ERROR;
2584 encoder->protected_->state = FLAC__STREAM_ENCODER_MEMORY_ALLOCATION_ERROR;
2588 if(encoder->protected_->verify) {
2598 if(encoder->protected_->state != FLAC__STREAM_ENCODER_VERIFY_MISMATCH_IN_AUDIO_DATA)
2599 encoder->protected_->state = FLAC__STREAM_ENCODER_VERIFY_DECODER_ERROR;
2608 encoder->protected_->state = FLAC__STREAM_ENCODER_CLIENT_ERROR;
2634 encoder->protected_->state = FLAC__STREAM_ENCODER_CLIENT_ERROR;
2644 encoder->protected_->streaminfo_offset = output_position;
2645 else if(type == FLAC__METADATA_TYPE_SEEKTABLE && encoder->protected_->seektable_offset == 0)
2646 encoder->protected_->seektable_offset = output_position;
2654 if(0 != encoder->private_->seek_table && encoder->protected_->audio_offset > 0 && encoder->private_->seek_table->num_points > 0) {
2667 encoder->private_->seek_table->points[i].stream_offset = output_position - encoder->protected_->audio_offset;
2686 &encoder->protected_->ogg_encoder_aspect,
2711 encoder->protected_->state = FLAC__STREAM_ENCODER_CLIENT_ERROR;
2751 if((seek_status = encoder->private_->seek_callback(encoder, encoder->protected_->streaminfo_offset + md5_offset, encoder->private_->client_data)) != FLAC__STREAM_ENCODER_SEEK_STATUS_OK) {
2753 encoder->protected_->state = FLAC__STREAM_ENCODER_CLIENT_ERROR;
2757 encoder->protected_->state = FLAC__STREAM_ENCODER_CLIENT_ERROR;
2784 if((seek_status = encoder->private_->seek_callback(encoder, encoder->protected_->streaminfo_offset + total_samples_byte_offset, encoder->private_->client_data)) != FLAC__STREAM_ENCODER_SEEK_STATUS_OK) {
2786 encoder->protected_->state = FLAC__STREAM_ENCODER_CLIENT_ERROR;
2790 encoder->protected_->state = FLAC__STREAM_ENCODER_CLIENT_ERROR;
2812 if((seek_status = encoder->private_->seek_callback(encoder, encoder->protected_->streaminfo_offset + min_framesize_offset, encoder->private_->client_data)) != FLAC__STREAM_ENCODER_SEEK_STATUS_OK) {
2814 encoder->protected_->state = FLAC__STREAM_ENCODER_CLIENT_ERROR;
2818 encoder->protected_->state = FLAC__STREAM_ENCODER_CLIENT_ERROR;
2826 if(0 != encoder->private_->seek_table && encoder->private_->seek_table->num_points > 0 && encoder->protected_->seektable_offset > 0) {
2833 if((seek_status = encoder->private_->seek_callback(encoder, encoder->protected_->seektable_offset + FLAC__STREAM_METADATA_HEADER_LENGTH, encoder->private_->client_data)) != FLAC__STREAM_ENCODER_SEEK_STATUS_OK) {
2835 encoder->protected_->state = FLAC__STREAM_ENCODER_CLIENT_ERROR;
2864 encoder->protected_->state = FLAC__STREAM_ENCODER_CLIENT_ERROR;
2909 if(!simple_ogg_page__get_at(encoder, encoder->protected_->streaminfo_offset, &page, encoder->private_->seek_callback, encoder->private_->read_callback, encoder->private_->client_data)) {
2933 encoder->protected_->state = FLAC__STREAM_ENCODER_OGG_ERROR;
2959 encoder->protected_->state = FLAC__STREAM_ENCODER_OGG_ERROR;
2985 encoder->protected_->state = FLAC__STREAM_ENCODER_OGG_ERROR;
2997 if(!simple_ogg_page__set_at(encoder, encoder->protected_->streaminfo_offset, &page, encoder->private_->seek_callback, encoder->private_->write_callback, encoder->private_->client_data)) {
3006 if(0 != encoder->private_->seek_table && encoder->private_->seek_table->num_points > 0 && encoder->protected_->seektable_offset > 0) {
3015 if(!simple_ogg_page__get_at(encoder, encoder->protected_->seektable_offset, &page, encoder->private_->seek_callback, encoder->private_->read_callback, encoder->private_->client_data)) {
3021 encoder->protected_->state = FLAC__STREAM_ENCODER_OGG_ERROR;
3053 if(!simple_ogg_page__set_at(encoder, encoder->protected_->seektable_offset, &page, encoder->private_->seek_callback, encoder->private_->write_callback, encoder->private_->client_data)) {
3065 FLAC__ASSERT(encoder->protected_->state == FLAC__STREAM_ENCODER_OK);
3070 if(encoder->protected_->do_md5 && !FLAC__MD5Accumulate(&encoder->private_->md5context, (const FLAC__int32 * const *)encoder->private_->integer_signal, encoder->protected_->channels, encoder->protected_->blocksize, (encoder->protected_->bits_per_sample+7) / 8)) {
3071 encoder->protected_->state = FLAC__STREAM_ENCODER_MEMORY_ALLOCATION_ERROR;
3087 encoder->protected_->state = FLAC__STREAM_ENCODER_MEMORY_ALLOCATION_ERROR;
3099 encoder->protected_->state = FLAC__STREAM_ENCODER_MEMORY_ALLOCATION_ERROR;
3106 if(!write_bitbuffer_(encoder, encoder->protected_->blocksize, is_last_block)) {
3116 encoder->private_->streaminfo.data.stream_info.total_samples += (FLAC__uint64)encoder->protected_->blocksize;
3124 unsigned channel, min_partition_order = encoder->protected_->min_residual_partition_order, max_partition_order;
3134 max_partition_order = FLAC__format_get_max_rice_partition_order_from_blocksize(encoder->protected_->blocksize);
3135 max_partition_order = flac_min(max_partition_order, encoder->protected_->max_residual_partition_order);
3142 frame_header.blocksize = encoder->protected_->blocksize;
3143 frame_header.sample_rate = encoder->protected_->sample_rate;
3144 frame_header.channels = encoder->protected_->channels;
3146 frame_header.bits_per_sample = encoder->protected_->bits_per_sample;
3153 if(encoder->protected_->do_mid_side_stereo) {
3154 if(encoder->protected_->loose_mid_side_stereo) {
3180 for(channel = 0; channel < encoder->protected_->channels; channel++) {
3181 const unsigned w = get_wasted_bits_(encoder->private_->integer_signal[channel], encoder->protected_->blocksize);
3183 encoder->private_->subframe_bps[channel] = encoder->protected_->bits_per_sample - w;
3187 FLAC__ASSERT(encoder->protected_->channels == 2);
3189 const unsigned w = get_wasted_bits_(encoder->private_->integer_signal_mid_side[channel], encoder->protected_->blocksize);
3191 encoder->private_->subframe_bps_mid_side[channel] = encoder->protected_->bits_per_sample - w + (channel==0? 0:1);
3199 for(channel = 0; channel < encoder->protected_->channels; channel++) {
3223 FLAC__ASSERT(encoder->protected_->channels == 2);
3253 FLAC__ASSERT(encoder->protected_->channels == 2);
3255 if(encoder->protected_->loose_mid_side_stereo && encoder->private_->loose_mid_side_stereo_frame_count > 0) {
3288 encoder->protected_->state = FLAC__STREAM_ENCODER_FRAMING_ERROR;
3342 encoder->protected_->state = FLAC__STREAM_ENCODER_FRAMING_ERROR;
3346 for(channel = 0; channel < encoder->protected_->channels; channel++) {
3354 if(encoder->protected_->loose_mid_side_stereo) {
3386 FLAC__real autoc[FLAC__MAX_LPC_ORDER+1]; /* WATCHOUT: the size is important even though encoder->protected_->max_lpc_order might be less; some asm and x86 intrinsic routines need all the space */
3437 if(!encoder->private_->disable_fixed_subframes || (encoder->protected_->max_lpc_order == 0 && _best_bits == UINT_MAX)) {
3439 if(encoder->protected_->do_exhaustive_model_search) {
3479 encoder->protected_->do_escape_coding,
3480 encoder->protected_->rice_parameter_search_dist,
3493 if(encoder->protected_->max_lpc_order > 0) {
3494 if(encoder->protected_->max_lpc_order >= frame_header->blocksize)
3497 max_lpc_order = encoder->protected_->max_lpc_order;
3500 for (a = 0; a < encoder->protected_->num_apodizations; a++) {
3506 if(encoder->protected_->do_exhaustive_model_search) {
3516 encoder->protected_->do_qlp_coeff_prec_search?
3518 encoder->protected_->qlp_coeff_precision
3537 if(encoder->protected_->do_qlp_coeff_prec_search) {
3548 min_qlp_coeff_precision = max_qlp_coeff_precision = encoder->protected_->qlp_coeff_precision;
3567 encoder->protected_->do_escape_coding,
3568 encoder->protected_->rice_parameter_search_dist,
3611 encoder->protected_->state = FLAC__STREAM_ENCODER_FRAMING_ERROR;
3617 encoder->protected_->state = FLAC__STREAM_ENCODER_FRAMING_ERROR;
3623 encoder->protected_->state = FLAC__STREAM_ENCODER_FRAMING_ERROR;
3629 encoder->protected_->state = FLAC__STREAM_ENCODER_FRAMING_ERROR;
4431 encoder->protected_->state = FLAC__STREAM_ENCODER_VERIFY_MISMATCH_IN_AUDIO_DATA;
4452 encoder->protected_->state = FLAC__STREAM_ENCODER_VERIFY_DECODER_ERROR;