21 #define BITSTREAM_WRITER_LE
75 const int16_t *ptr = (
const int16_t *)
frame->
data[0];
90 int ret,
i, out_bytes, cur_chan, res, samples;
94 cur_chan = 0, res = 0, samples = 0;
101 s->ch_ctx[
i].predictor = 0;
110 uint32_t k, unary, outval;
123 #define PRED(x, k) (int32_t)((((uint64_t)(x) << (k)) - (x)) >> (k))
125 case 1:
value -=
PRED(
c->predictor, 4);
break;
127 case 3:
value -=
PRED(
c->predictor, 5);
break;
137 rice->
sum0 += outval - (rice->
sum0 >> 4);
147 rice->
sum1 += outval - (rice->
sum1 >> 4);
153 unary = 1 + (outval >> k);
155 if (pkt_size < INT_MAX/2) {
167 put_bits(&pb, unary, (1U << unary) - 1);
190 avpkt->
size = out_bytes + 4;
static enum AVSampleFormat sample_fmts[]
static const char *const format[]
Libavcodec external API header.
static av_cold int init(AVCodecContext *avctx)
static av_always_inline void filter(int16_t *output, ptrdiff_t out_stride, const int16_t *low, ptrdiff_t low_stride, const int16_t *high, ptrdiff_t high_stride, int len, int clip)
Public header for CRC hash function implementation.
int ff_alloc_packet2(AVCodecContext *avctx, AVPacket *avpkt, int64_t size, int64_t min_size)
Check AVPacket size and/or allocate data.
#define AV_CODEC_CAP_SMALL_LAST_FRAME
Codec can be fed a final frame with a smaller size.
void av_packet_unref(AVPacket *pkt)
Wipe the packet.
const AVCRC * av_crc_get_table(AVCRCId crc_id)
Get an initialized standard CRC table.
uint32_t av_crc(const AVCRC *ctx, uint32_t crc, const uint8_t *buffer, size_t length)
Calculate the CRC of a block.
#define AV_LOG_WARNING
Something somehow does not look correct.
AVSampleFormat
Audio sample formats.
@ AV_SAMPLE_FMT_S32
signed 32 bits
@ AV_SAMPLE_FMT_S16
signed 16 bits
static void put_bits(Jpeg2000EncoderContext *s, int val, int n)
put n times val bit
static av_always_inline int64_t ff_samples_to_time_base(AVCodecContext *avctx, int64_t samples)
Rescale from sample rate to AVCodecContext.time_base.
static av_cold int tta_encode_init(AVCodecContext *avctx)
static int32_t get_sample(const AVFrame *frame, int sample, enum AVSampleFormat format)
static int tta_encode_frame(AVCodecContext *avctx, AVPacket *avpkt, const AVFrame *frame, int *got_packet_ptr)
static av_cold int tta_encode_close(AVCodecContext *avctx)
common internal API header
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification.
static void init_put_bits(PutBitContext *s, uint8_t *buffer, int buffer_size)
Initialize the PutBitContext s.
static void av_unused put_bits32(PutBitContext *s, uint32_t value)
Write exactly 32 bits into a bitstream.
static int put_bits_count(PutBitContext *s)
static int put_bits_left(PutBitContext *s)
static void flush_put_bits(PutBitContext *s)
Pad the end of the output stream with zeros.
main external API structure.
enum AVSampleFormat sample_fmt
audio sample format
int bits_per_raw_sample
Bits per sample/pixel of internal libavcodec pixel/sample format.
int sample_rate
samples per second
int channels
number of audio channels
int frame_size
Number of samples per channel in an audio frame.
const char * name
Name of the codec implementation.
This structure describes decoded (raw) audio or video data.
int nb_samples
number of audio samples (per channel) described by this frame
int64_t pts
Presentation timestamp in time_base units (time when frame should be shown to user).
uint8_t * data[AV_NUM_DATA_POINTERS]
pointer to the picture/channel planes.
This structure stores compressed data.
int64_t duration
Duration of this packet in AVStream->time_base units, 0 if unknown.
int64_t pts
Presentation timestamp in AVStream->time_base units; the time at which the decompressed packet will b...
#define av_malloc_array(a, b)
const uint32_t *const ff_tta_shift_16
const uint32_t ff_tta_shift_1[]
void ff_tta_rice_init(TTARice *c, uint32_t k0, uint32_t k1)
void ff_tta_filter_init(TTAFilter *c, int32_t shift)
const uint8_t ff_tta_filter_configs[]
av_cold void ff_ttaencdsp_init(TTAEncDSPContext *c)