Skip to content

Commit

Permalink
Merge remote-tracking branch 'qatar/master'
Browse files Browse the repository at this point in the history
* qatar/master:
  x86: cabac: replace explicit memory references with "m" operands
  avplay: don't request a stereo downmix
  wmapro: use av_float2int()
  lavc: avoid invalid memcpy() in avcodec_default_release_buffer()
  lavu: replace int/float punning functions
  lavfi: install libavfilter/vsrc_buffer.h
  Remove extraneous semicolons
  sdp: Restore the original mp4 format h264 extradata if converted
  rtpenc: Add support for mp4 format h264
  rtpenc: Simplify code by introducing a separate end pointer
  movenc: Use the actual converted sample for RTP hinting
  Fix a bunch of common typos.

Conflicts:
	doc/developer.texi
	doc/eval.texi
	doc/filters.texi
	doc/protocols.texi
	ffmpeg.c
	ffplay.c
	libavcodec/mpegvideo.h
	libavcodec/x86/cabac.h
	libavfilter/Makefile
	libavformat/avformat.h
	libavformat/cafdec.c
	libavformat/flvdec.c
	libavformat/flvenc.c
	libavformat/gxfenc.c
	libavformat/img2.c
	libavformat/movenc.c
	libavformat/mpegts.c
	libavformat/rtpenc_h264.c
	libavformat/utils.c
	libavformat/wtv.c

Merged-by: Michael Niedermayer <[email protected]>
  • Loading branch information
michaelni committed Dec 12, 2011
2 parents 16abd68 + 599b4c6 commit 7fad19a
Show file tree
Hide file tree
Showing 78 changed files with 388 additions and 286 deletions.
2 changes: 1 addition & 1 deletion avconv.c
Original file line number Diff line number Diff line change
Expand Up @@ -3783,7 +3783,7 @@ static void opt_output_file(void *optctx, const char *filename)
}

if (!(oc->oformat->flags & AVFMT_NOFILE)) {
/* test if it already exists to avoid loosing precious files */
/* test if it already exists to avoid losing precious files */
assert_file_overwrite(filename);

/* open the file */
Expand Down
6 changes: 3 additions & 3 deletions cmdutils.h
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ int opt_timelimit(const char *opt, const char *arg);
* parsed or the corresponding value is invalid.
*
* @param context the context of the value to be set (e.g. the
* corresponding commandline option name)
* corresponding command line option name)
* @param numstr the string to be parsed
* @param type the type (OPT_INT64 or OPT_FLOAT) as which the
* string should be parsed
Expand All @@ -106,7 +106,7 @@ double parse_number_or_die(const char *context, const char *numstr, int type, do
* the string cannot be correctly parsed.
*
* @param context the context of the value to be set (e.g. the
* corresponding commandline option name)
* corresponding command line option name)
* @param timestr the string to be parsed
* @param is_duration a flag which tells how to interpret timestr, if
* not zero timestr is interpreted as a duration, otherwise as a
Expand Down Expand Up @@ -189,7 +189,7 @@ void parse_options(void *optctx, int argc, char **argv, const OptionDef *options
int parse_option(void *optctx, const char *opt, const char *arg, const OptionDef *options);

/**
* Find the '-loglevel' option in the commandline args and apply it.
* Find the '-loglevel' option in the command line args and apply it.
*/
void parse_loglevel(int argc, char **argv, const OptionDef *options);

Expand Down
2 changes: 1 addition & 1 deletion doc/avconv.texi
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ rates and resize video on the fly with a high quality polyphase filter.
avconv reads from an arbitrary number of input "files" (which can be regular
files, pipes, network streams, grabbing devices, etc.), specified by the
@code{-i} option, and writes to an arbitrary number of output "files", which are
specified by a plain output filename. Anything found on the commandline which
specified by a plain output filename. Anything found on the command line which
cannot be interpreted as an option is considered to be an output filename.

Each input or output file can in principle contain any number of streams of
Expand Down
2 changes: 1 addition & 1 deletion doc/ffserver.texi
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@ that only captures in stereo and also requires that one channel be flipped.
If you are one of these people, then export 'AUDIO_FLIP_LEFT=1' before
starting ffmpeg.

@subsection The audio and video loose sync after a while.
@subsection The audio and video lose sync after a while.

Yes, they do.

Expand Down
4 changes: 2 additions & 2 deletions doc/protocols.texi
Original file line number Diff line number Diff line change
Expand Up @@ -155,8 +155,8 @@ be seekable, so they will fail with the pipe output protocol.

Real-Time Messaging Protocol.

The Real-Time Messaging Protocol (RTMP) is used for streaming
multimedia content across a TCP/IP network.
The Real-Time Messaging Protocol (RTMP) is used for streaming multimedia
content across a TCP/IP network.

The required syntax is:
@example
Expand Down
2 changes: 1 addition & 1 deletion doc/soc.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ essential that changes to their codebase are publicly visible, clean and
easy reviewable that again leads us to:
* use of a revision control system like git
* separation of cosmetic from non-cosmetic changes (this is almost entirely
ignored by mentors and students in soc 2006 which might lead to a suprise
ignored by mentors and students in soc 2006 which might lead to a surprise
when the code will be reviewed at the end before a possible inclusion in
FFmpeg, individual changes were generally not reviewable due to cosmetics).
* frequent commits, so that comments can be provided early
2 changes: 1 addition & 1 deletion ffmpeg.c
Original file line number Diff line number Diff line change
Expand Up @@ -4162,7 +4162,7 @@ static void opt_output_file(void *optctx, const char *filename)
}

if (!(oc->oformat->flags & AVFMT_NOFILE)) {
/* test if it already exists to avoid loosing precious files */
/* test if it already exists to avoid losing precious files */
assert_file_overwrite(filename);

/* open the file */
Expand Down
2 changes: 0 additions & 2 deletions ffplay.c
Original file line number Diff line number Diff line change
Expand Up @@ -2468,8 +2468,6 @@ static int read_thread(void *arg)
if(genpts)
ic->flags |= AVFMT_FLAG_GENPTS;

av_dict_set(&codec_opts, "request_channels", "2", 0);

opts = setup_find_stream_info_opts(ic, codec_opts);
orig_nb_streams = ic->nb_streams;

Expand Down
2 changes: 1 addition & 1 deletion ffserver.c
Original file line number Diff line number Diff line change
Expand Up @@ -475,7 +475,7 @@ static void start_children(FFStream *feed)
slash++;
strcpy(slash, "ffmpeg");

http_log("Launch commandline: ");
http_log("Launch command line: ");
http_log("%s ", pathname);
for (i = 1; feed->child_argv[i] && feed->child_argv[i][0]; i++)
http_log("%s ", feed->child_argv[i]);
Expand Down
4 changes: 2 additions & 2 deletions libavcodec/avcodec.h
Original file line number Diff line number Diff line change
Expand Up @@ -1348,7 +1348,7 @@ typedef struct AVCodecContext {
* Some codecs need additional format info. It is stored here.
* If any muxer uses this then ALL demuxers/parsers AND encoders for the
* specific codec MUST set it correctly otherwise stream copy breaks.
* In general use of this field by muxers is not recommanded.
* In general use of this field by muxers is not recommended.
* - encoding: Set by libavcodec.
* - decoding: Set by libavcodec. (FIXME: Is this OK?)
*/
Expand Down Expand Up @@ -3541,7 +3541,7 @@ typedef struct ReSampleContext ReSampleContext;
* @param linear if 1 then the used FIR filter will be linearly interpolated
between the 2 closest, if 0 the closest will be used
* @param cutoff cutoff frequency, 1.0 corresponds to half the output sampling rate
* @return allocated ReSampleContext, NULL if error occured
* @return allocated ReSampleContext, NULL if error occurred
*/
ReSampleContext *av_audio_resample_init(int output_channels, int input_channels,
int output_rate, int input_rate,
Expand Down
6 changes: 3 additions & 3 deletions libavcodec/binkaudio.c
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
#include "dct.h"
#include "rdft.h"
#include "fmtconvert.h"
#include "libavutil/intfloat_readwrite.h"
#include "libavutil/intfloat.h"

extern const uint16_t ff_wma_critical_freqs[25];

Expand Down Expand Up @@ -193,8 +193,8 @@ static int decode_block(BinkAudioContext *s, int16_t *out, int use_dct)
if (s->version_b) {
if (get_bits_left(gb) < 64)
return AVERROR_INVALIDDATA;
coeffs[0] = av_int2flt(get_bits(gb, 32)) * s->root;
coeffs[1] = av_int2flt(get_bits(gb, 32)) * s->root;
coeffs[0] = av_int2float(get_bits_long(gb, 32)) * s->root;
coeffs[1] = av_int2float(get_bits_long(gb, 32)) * s->root;
} else {
if (get_bits_left(gb) < 58)
return AVERROR_INVALIDDATA;
Expand Down
2 changes: 1 addition & 1 deletion libavcodec/bitstream.c
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ static int alloc_table(VLC *vlc, int size, int use_static)
vlc->table_size += size;
if (vlc->table_size > vlc->table_allocated) {
if(use_static)
abort(); //cant do anything, init_vlc() is used with too little memory
abort(); // cannot do anything, init_vlc() is used with too little memory
vlc->table_allocated += (1 << vlc->bits);
vlc->table = av_realloc_f(vlc->table,
vlc->table_allocated, sizeof(VLC_TYPE) * 2);
Expand Down
4 changes: 2 additions & 2 deletions libavcodec/eatgv.c
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,7 @@ static int tgv_decode_inter(TgvContext * s, const uint8_t *buf, const uint8_t *b
vector_bits = AV_RL16(&buf[6]);
buf += 12;

/* allocate codebook buffers as neccessary */
/* allocate codebook buffers as necessary */
if (num_mvs > s->num_mvs) {
s->mv_codebook = av_realloc(s->mv_codebook, num_mvs*2*sizeof(int));
s->num_mvs = num_mvs;
Expand Down Expand Up @@ -293,7 +293,7 @@ static int tgv_decode_frame(AVCodecContext *avctx,
s->frame.buffer_hints = FF_BUFFER_HINTS_VALID;
s->frame.linesize[0] = s->width;

/* allocate additional 12 bytes to accomodate av_memcpy_backptr() OUTBUF_PADDED optimisation */
/* allocate additional 12 bytes to accommodate av_memcpy_backptr() OUTBUF_PADDED optimisation */
s->frame.data[0] = av_malloc(s->width*s->height + 12);
if (!s->frame.data[0])
return AVERROR(ENOMEM);
Expand Down
2 changes: 1 addition & 1 deletion libavcodec/error_resilience.c
Original file line number Diff line number Diff line change
Expand Up @@ -801,7 +801,7 @@ void ff_er_frame_end(MpegEncContext *s){
if(!s->error_recognition || s->error_count==0 || s->avctx->lowres ||
s->avctx->hwaccel ||
s->avctx->codec->capabilities&CODEC_CAP_HWACCEL_VDPAU ||
s->picture_structure != PICT_FRAME || // we dont support ER of field pictures yet, though it should not crash if enabled
s->picture_structure != PICT_FRAME || // we do not support ER of field pictures yet, though it should not crash if enabled
s->error_count==3*s->mb_width*(s->avctx->skip_top + s->avctx->skip_bottom)) return;

if (s->current_picture.f.motion_val[0] == NULL) {
Expand Down
2 changes: 1 addition & 1 deletion libavcodec/g722enc.c
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@ static int g722_encode_trellis(AVCodecContext *avctx,

for (j = 0; j < frontier && nodes[0][j]; j++) {
/* Only k >> 2 affects the future adaptive state, therefore testing
* small steps that don't change k >> 2 is useless, the orignal
* small steps that don't change k >> 2 is useless, the original
* value from encode_low is better than them. Since we step k
* in steps of 4, make sure range is a multiple of 4, so that
* we don't miss the original value from encode_low. */
Expand Down
10 changes: 5 additions & 5 deletions libavcodec/h264.c
Original file line number Diff line number Diff line change
Expand Up @@ -2201,8 +2201,8 @@ static av_always_inline void hl_decode_mb_444_internal(H264Context *h, int simpl
static void hl_decode_mb_simple_ ## bits(H264Context *h){ \
hl_decode_mb_internal(h, 1, sh); \
}
hl_decode_mb_simple(0, 8);
hl_decode_mb_simple(1, 16);
hl_decode_mb_simple(0, 8)
hl_decode_mb_simple(1, 16)

/**
* Process a macroblock; this handles edge cases, such as interlacing.
Expand Down Expand Up @@ -2926,7 +2926,7 @@ static int decode_slice_header(H264Context *h, H264Context *h0){
* FIXME: avoiding a memcpy would be nice, but ref handling makes many assumptions
* about there being no actual duplicates.
* FIXME: this doesn't copy padding for out-of-frame motion vectors. Given we're
* concealing a lost frame, this probably isn't noticable by comparison, but it should
* concealing a lost frame, this probably isn't noticeable by comparison, but it should
* be fixed. */
if (h->short_ref_count) {
if (prev) {
Expand Down Expand Up @@ -3354,7 +3354,7 @@ static av_always_inline void fill_filter_caches_inter(H264Context *h, MpegEncCon

/**
*
* @return non zero if the loop filter can be skiped
* @return non zero if the loop filter can be skipped
*/
static int fill_filter_caches(H264Context *h, int mb_type){
MpegEncContext * const s = &h->s;
Expand Down Expand Up @@ -3879,7 +3879,7 @@ static int decode_nal_units(H264Context *h, const uint8_t *buf, int buf_size){
av_log(h->s.avctx, AV_LOG_ERROR, "Invalid mix of idr and non-idr slices");
return -1;
}
idr(h); //FIXME ensure we don't loose some frames if there is reordering
idr(h); // FIXME ensure we don't lose some frames if there is reordering
case NAL_SLICE:
init_get_bits(&hx->s.gb, ptr, bit_length);
hx->intra_gb_ptr=
Expand Down
12 changes: 6 additions & 6 deletions libavcodec/h264pred_template.c
Original file line number Diff line number Diff line change
Expand Up @@ -388,9 +388,9 @@ static void FUNCC(pred16x16_##n##_dc)(uint8_t *_src, int stride){\
PREDICT_16x16_DC(PIXEL_SPLAT_X4(v));\
}

PRED16x16_X(127, (1<<(BIT_DEPTH-1))-1);
PRED16x16_X(128, (1<<(BIT_DEPTH-1))+0);
PRED16x16_X(129, (1<<(BIT_DEPTH-1))+1);
PRED16x16_X(127, (1<<(BIT_DEPTH-1))-1)
PRED16x16_X(128, (1<<(BIT_DEPTH-1))+0)
PRED16x16_X(129, (1<<(BIT_DEPTH-1))+1)

static inline void FUNCC(pred16x16_plane_compat)(uint8_t *p_src, int p_stride, const int svq3, const int rv40){
int i, j, k;
Expand Down Expand Up @@ -502,9 +502,9 @@ static void FUNCC(pred8x8_##n##_dc)(uint8_t *_src, int stride){\
}\
}

PRED8x8_X(127, (1<<(BIT_DEPTH-1))-1);
PRED8x8_X(128, (1<<(BIT_DEPTH-1))+0);
PRED8x8_X(129, (1<<(BIT_DEPTH-1))+1);
PRED8x8_X(127, (1<<(BIT_DEPTH-1))-1)
PRED8x8_X(128, (1<<(BIT_DEPTH-1))+0)
PRED8x8_X(129, (1<<(BIT_DEPTH-1))+1)

static void FUNCC(pred8x16_128_dc)(uint8_t *_src, int stride){
FUNCC(pred8x8_128_dc)(_src, stride);
Expand Down
2 changes: 1 addition & 1 deletion libavcodec/jfdctint_template.c
Original file line number Diff line number Diff line change
Expand Up @@ -340,7 +340,7 @@ FUNC(ff_jpeg_fdct_islow)(DCTELEM *data)

/*
* The secret of DCT2-4-8 is really simple -- you do the usual 1-DCT
* on the rows and then, instead of doing even and odd, part on the colums
* on the rows and then, instead of doing even and odd, part on the columns
* you do even part two times.
*/
GLOBAL(void)
Expand Down
2 changes: 1 addition & 1 deletion libavcodec/lpc.h
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ typedef struct LPCContext {
* Perform autocorrelation on input samples with delay of 0 to lag.
* @param data input samples.
* constraints: no alignment needed, but must have have at
* least lag*sizeof(double) valid bytes preceeding it, and
* least lag*sizeof(double) valid bytes preceding it, and
* size must be at least (len+1)*sizeof(double) if data is
* 16-byte aligned or (len+2)*sizeof(double) if data is
* unaligned.
Expand Down
6 changes: 3 additions & 3 deletions libavcodec/mjpegdec.c
Original file line number Diff line number Diff line change
Expand Up @@ -1114,9 +1114,9 @@ static int mjpeg_decode_app(MJpegDecodeContext *s)
av_log(s->avctx, AV_LOG_DEBUG, "APPx %8X\n", id);
}

/* buggy AVID, it puts EOI only at every 10th frame */
/* also this fourcc is used by non-avid files too, it holds some
informations, but it's always present in AVID creates files */
/* Buggy AVID, it puts EOI only at every 10th frame. */
/* Also, this fourcc is used by non-avid files too, it holds some
information, but it's always present in AVID-created files. */
if (id == AV_RL32("AVI1"))
{
/* structure:
Expand Down
2 changes: 1 addition & 1 deletion libavcodec/proresdec_lgpl.c
Original file line number Diff line number Diff line change
Expand Up @@ -559,7 +559,7 @@ static int decode_slice(AVCodecContext *avctx, ProresThreadData *td)
sf = sf > 128 ? (sf - 96) << 2 : sf;

/* scale quantization matrixes according with slice's scale factor */
/* TODO: this can be SIMD-optimized alot */
/* TODO: this can be SIMD-optimized a lot */
if (ctx->qmat_changed || sf != ctx->prev_slice_sf) {
ctx->prev_slice_sf = sf;
for (i = 0; i < 64; i++) {
Expand Down
2 changes: 1 addition & 1 deletion libavcodec/tscc.c
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@ static av_cold int decode_init(AVCodecContext *avctx)
return -1;
}
c->bpp = avctx->bits_per_coded_sample;
// buffer size for RLE 'best' case when 2-byte code preceeds each pixel and there may be padding after it too
// buffer size for RLE 'best' case when 2-byte code precedes each pixel and there may be padding after it too
c->decomp_size = (((avctx->width * c->bpp + 7) >> 3) + 3 * avctx->width + 2) * avctx->height + 2;

/* Allocate decompression buffer */
Expand Down
3 changes: 2 additions & 1 deletion libavcodec/utils.c
Original file line number Diff line number Diff line change
Expand Up @@ -544,7 +544,8 @@ void avcodec_default_release_buffer(AVCodecContext *s, AVFrame *pic){
avci->buffer_count--;
last = &avci->buffer[avci->buffer_count];

FFSWAP(InternalBuffer, *buf, *last);
if (buf != last)
FFSWAP(InternalBuffer, *buf, *last);
}

for (i = 0; i < AV_NUM_DATA_POINTERS; i++) {
Expand Down
2 changes: 1 addition & 1 deletion libavcodec/vaapi_mpeg4.c
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ static int vaapi_mpeg4_start_frame(AVCodecContext *avctx, av_unused const uint8_
pic_param->forward_reference_picture = ff_vaapi_get_surface_id(&s->last_picture);

/* Fill in VAIQMatrixBufferMPEG4 */
/* Only the first inverse quantisation method uses the weighthing matrices */
/* Only the first inverse quantisation method uses the weighting matrices */
if (pic_param->vol_fields.bits.quant_type) {
iq_matrix = ff_vaapi_alloc_iq_matrix(vactx, sizeof(VAIQMatrixBufferMPEG4));
if (!iq_matrix)
Expand Down
6 changes: 3 additions & 3 deletions libavcodec/vc1dec.c
Original file line number Diff line number Diff line change
Expand Up @@ -3536,7 +3536,7 @@ static void vc1_apply_p_loop_filter(VC1Context *v)
vc1_apply_p_v_loop_filter(v, i);
}

/* V always preceedes H, therefore we run H one MB before V;
/* V always precedes H, therefore we run H one MB before V;
* at the end of a row, we catch up to complete the row */
if (s->mb_x) {
for (i = 0; i < 6; i++) {
Expand Down Expand Up @@ -3573,7 +3573,7 @@ static int vc1_decode_p_mb(VC1Context *v)
int skipped, fourmv;
int block_cbp = 0, pat, block_tt = 0, block_intra = 0;

mquant = v->pq; /* Loosy initialization */
mquant = v->pq; /* lossy initialization */

if (v->mv_type_is_raw)
fourmv = get_bits1(gb);
Expand Down Expand Up @@ -4141,7 +4141,7 @@ static void vc1_decode_b_mb(VC1Context *v)
int dmv_x[2], dmv_y[2];
int bmvtype = BMV_TYPE_BACKWARD;

mquant = v->pq; /* Loosy initialization */
mquant = v->pq; /* lossy initialization */
s->mb_intra = 0;

if (v->dmb_is_raw)
Expand Down
4 changes: 2 additions & 2 deletions libavcodec/vc1dsp.c
Original file line number Diff line number Diff line change
Expand Up @@ -550,8 +550,8 @@ static av_always_inline int vc1_mspel_ ## DIR ## _filter_16bits(const TYPE *src,
return 0; /* should not occur */ \
}

VC1_MSPEL_FILTER_16B(ver, uint8_t);
VC1_MSPEL_FILTER_16B(hor, int16_t);
VC1_MSPEL_FILTER_16B(ver, uint8_t)
VC1_MSPEL_FILTER_16B(hor, int16_t)


/** Filter used to interpolate fractional pel values
Expand Down
7 changes: 4 additions & 3 deletions libavcodec/wmaprodec.c
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@
* subframe in order to reconstruct the output samples.
*/

#include "libavutil/intfloat.h"
#include "libavutil/intreadwrite.h"
#include "avcodec.h"
#include "internal.h"
Expand Down Expand Up @@ -823,8 +824,8 @@ static int decode_coeffs(WMAProDecodeCtx *s, int c)
v1 = get_vlc2(&s->gb, vec1_vlc.table, VLCBITS, VEC1MAXDEPTH);
if (v1 == HUFF_VEC1_SIZE - 1)
v1 += ff_wma_get_large_val(&s->gb);
vals[i ] = ((av_alias32){ .f32 = v0 }).u32;
vals[i+1] = ((av_alias32){ .f32 = v1 }).u32;
vals[i ] = av_float2int(v0);
vals[i+1] = av_float2int(v1);
} else {
vals[i] = fval_tab[symbol_to_vec2[idx] >> 4 ];
vals[i+1] = fval_tab[symbol_to_vec2[idx] & 0xF];
Expand Down Expand Up @@ -1425,7 +1426,7 @@ static int remaining_bits(WMAProDecodeCtx *s, GetBitContext *gb)
*@param s codec context
*@param gb bitstream reader context
*@param len length of the partial frame
*@param append decides wether to reset the buffer or not
*@param append decides whether to reset the buffer or not
*/
static void save_bits(WMAProDecodeCtx *s, GetBitContext* gb, int len,
int append)
Expand Down
4 changes: 2 additions & 2 deletions libavcodec/wmavoice.c
Original file line number Diff line number Diff line change
Expand Up @@ -189,7 +189,7 @@ typedef struct {
* @{
*/
int spillover_nbits; ///< number of bits of the previous packet's
///< last superframe preceeding this
///< last superframe preceding this
///< packet's first full superframe (useful
///< for re-synchronization also)
int has_residual_lsps; ///< if set, superframes contain one set of
Expand Down Expand Up @@ -1805,7 +1805,7 @@ static int synth_superframe(AVCodecContext *ctx, int *got_frame_ptr)
s->frame.nb_samples = n_samples;
samples = (float *)s->frame.data[0];

/* Parse frames, optionally preceeded by per-frame (independent) LSPs. */
/* Parse frames, optionally preceded by per-frame (independent) LSPs. */
for (n = 0; n < 3; n++) {
if (!s->has_residual_lsps) {
int m;
Expand Down
Loading

0 comments on commit 7fad19a

Please sign in to comment.