diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2012-03-10 04:12:08 +0400 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2012-03-10 04:12:08 +0400 |
commit | 8e31dbc1dcb56d40bcc1dd45840aaef0d37bae51 (patch) | |
tree | 08342b8eede67521c32c139ebb4d9ddd04e871fa | |
parent | 1af9fdc3baa47596757da7c401d58710cef45c75 (diff) | |
parent | ffae713a5b3a0d20ff958d8bd58a052b495c38fd (diff) |
Merge remote-tracking branch 'qatar/master'
* qatar/master:
Fix a bunch of common typos.
build: Skip compiling xvmc.h under the correct condition.
configure: darwin: Change dylib install names to include major version.
mpegts: Always honor a registration descriptor if present and there is no other codec information.
aacdec: Fix SCE parity check.
aacdec: Fix out of array writes (stack).
rtsp: Only set the ttl parameter if the server actually gave a value
udp: Set ttl for read-write streams, too, not only for write-only ones
udp: Only bind to the multicast address if in read-only mode
udp: Clarify the comment about binding the multicast address
udp: Reorder comments
Conflicts:
libavcodec/aacdec.c
tools/patcheck
Merged-by: Michael Niedermayer <michaelni@gmx.at>
-rwxr-xr-x | configure | 2 | ||||
-rw-r--r-- | libavcodec/Makefile | 2 | ||||
-rw-r--r-- | libavcodec/aacdec.c | 2 | ||||
-rw-r--r-- | libavcodec/pgssubdec.c | 2 | ||||
-rw-r--r-- | libavcodec/vorbisenc.c | 66 | ||||
-rw-r--r-- | libavformat/mpegts.c | 3 | ||||
-rw-r--r-- | libavformat/r3d.c | 2 | ||||
-rw-r--r-- | libavformat/rtsp.c | 6 | ||||
-rw-r--r-- | libavformat/udp.c | 14 | ||||
-rw-r--r-- | tools/lavfi-showfiltfmts.c | 2 | ||||
-rwxr-xr-x | tools/patcheck | 3 |
11 files changed, 54 insertions, 50 deletions
@@ -2652,7 +2652,7 @@ case $target_os in enable malloc_aligned gas="gas-preprocessor.pl $cc" enabled ppc && add_asflags -force_cpusubtype_ALL - SHFLAGS='-dynamiclib -Wl,-single_module -Wl,-install_name,$(SHLIBDIR)/$(SLIBNAME),-current_version,$(LIBVERSION),-compatibility_version,$(LIBMAJOR)' + SHFLAGS='-dynamiclib -Wl,-single_module -Wl,-install_name,$(SHLIBDIR)/$(SLIBNAME_WITH_MAJOR),-current_version,$(LIBVERSION),-compatibility_version,$(LIBMAJOR)' enabled x86_32 && append SHFLAGS -Wl,-read_only_relocs,suppress strip="${strip} -x" add_ldflags -Wl,-dynamic,-search_paths_first diff --git a/libavcodec/Makefile b/libavcodec/Makefile index 29ed9575f1..69ba63228a 100644 --- a/libavcodec/Makefile +++ b/libavcodec/Makefile @@ -741,10 +741,10 @@ SKIPHEADERS += %_tablegen.h \ SKIPHEADERS-$(CONFIG_DXVA2) += dxva2.h dxva2_internal.h SKIPHEADERS-$(CONFIG_LIBDIRAC) += libdirac.h SKIPHEADERS-$(CONFIG_LIBSCHROEDINGER) += libschroedinger.h +SKIPHEADERS-$(CONFIG_MPEG_XVMC_DECODER) += xvmc.h SKIPHEADERS-$(CONFIG_VAAPI) += vaapi_internal.h SKIPHEADERS-$(CONFIG_VDA) += vda_internal.h SKIPHEADERS-$(CONFIG_VDPAU) += vdpau.h -SKIPHEADERS-$(CONFIG_XVMC) += xvmc.h SKIPHEADERS-$(HAVE_W32THREADS) += w32pthreads.h TESTPROGS = cabac dct fft fft-fixed golomb iirfilter rangecoder snowenc diff --git a/libavcodec/aacdec.c b/libavcodec/aacdec.c index 966a2116d6..d220f14933 100644 --- a/libavcodec/aacdec.c +++ b/libavcodec/aacdec.c @@ -227,7 +227,7 @@ static uint64_t sniff_channel_order(uint8_t (*layout_map)[3], int tags) int num_front_channels, num_side_channels, num_back_channels; uint64_t layout; - if(FF_ARRAY_ELEMS(e2c_vec) < tags) + if (FF_ARRAY_ELEMS(e2c_vec) < tags) return 0; i = 0; diff --git a/libavcodec/pgssubdec.c b/libavcodec/pgssubdec.c index 238dbeb00a..d79b61681b 100644 --- a/libavcodec/pgssubdec.c +++ b/libavcodec/pgssubdec.c @@ -483,7 +483,7 @@ static int decode(AVCodecContext *avctx, void *data, int *data_size, case WINDOW_SEGMENT: /* * Window Segment Structure (No new information provided): - * 2 bytes: Unkown, + * 2 bytes: Unknown, * 2 bytes: X position of subtitle, * 2 bytes: Y position of subtitle, * 2 bytes: Width of subtitle, diff --git a/libavcodec/vorbisenc.c b/libavcodec/vorbisenc.c index 12f21553e5..161cc9b6fb 100644 --- a/libavcodec/vorbisenc.c +++ b/libavcodec/vorbisenc.c @@ -41,13 +41,13 @@ typedef struct { int nentries; uint8_t *lens; uint32_t *codewords; - int ndimentions; + int ndimensions; float min; float delta; int seq_p; int lookup; int *quantlist; - float *dimentions; + float *dimensions; float *pow2; } vorbis_enc_codebook; @@ -149,12 +149,12 @@ static inline int put_codeword(PutBitContext *pb, vorbis_enc_codebook *cb, return 0; } -static int cb_lookup_vals(int lookup, int dimentions, int entries) +static int cb_lookup_vals(int lookup, int dimensions, int entries) { if (lookup == 1) - return ff_vorbis_nth_root(entries, dimentions); + return ff_vorbis_nth_root(entries, dimensions); else if (lookup == 2) - return dimentions *entries; + return dimensions *entries; return 0; } @@ -165,28 +165,28 @@ static int ready_codebook(vorbis_enc_codebook *cb) ff_vorbis_len2vlc(cb->lens, cb->codewords, cb->nentries); if (!cb->lookup) { - cb->pow2 = cb->dimentions = NULL; + cb->pow2 = cb->dimensions = NULL; } else { - int vals = cb_lookup_vals(cb->lookup, cb->ndimentions, cb->nentries); - cb->dimentions = av_malloc(sizeof(float) * cb->nentries * cb->ndimentions); + int vals = cb_lookup_vals(cb->lookup, cb->ndimensions, cb->nentries); + cb->dimensions = av_malloc(sizeof(float) * cb->nentries * cb->ndimensions); cb->pow2 = av_mallocz(sizeof(float) * cb->nentries); - if (!cb->dimentions || !cb->pow2) + if (!cb->dimensions || !cb->pow2) return AVERROR(ENOMEM); for (i = 0; i < cb->nentries; i++) { float last = 0; int j; int div = 1; - for (j = 0; j < cb->ndimentions; j++) { + for (j = 0; j < cb->ndimensions; j++) { int off; if (cb->lookup == 1) off = (i / div) % vals; // lookup type 1 else - off = i * cb->ndimentions + j; // lookup type 2 + off = i * cb->ndimensions + j; // lookup type 2 - cb->dimentions[i * cb->ndimentions + j] = last + cb->min + cb->quantlist[off] * cb->delta; + cb->dimensions[i * cb->ndimensions + j] = last + cb->min + cb->quantlist[off] * cb->delta; if (cb->seq_p) - last = cb->dimentions[i * cb->ndimentions + j]; - cb->pow2[i] += cb->dimentions[i * cb->ndimentions + j] * cb->dimentions[i * cb->ndimentions + j]; + last = cb->dimensions[i * cb->ndimensions + j]; + cb->pow2[i] += cb->dimensions[i * cb->ndimensions + j] * cb->dimensions[i * cb->ndimensions + j]; div *= vals; } cb->pow2[i] /= 2.; @@ -211,17 +211,17 @@ static int ready_residue(vorbis_enc_residue *rc, vorbis_enc_context *venc) if (j == 8) // zero continue; cb = &venc->codebooks[rc->books[i][j]]; - assert(cb->ndimentions >= 2); + assert(cb->ndimensions >= 2); assert(cb->lookup); for (j = 0; j < cb->nentries; j++) { float a; if (!cb->lens[j]) continue; - a = fabs(cb->dimentions[j * cb->ndimentions]); + a = fabs(cb->dimensions[j * cb->ndimensions]); if (a > rc->maxes[i][0]) rc->maxes[i][0] = a; - a = fabs(cb->dimentions[j * cb->ndimentions + 1]); + a = fabs(cb->dimensions[j * cb->ndimensions + 1]); if (a > rc->maxes[i][1]) rc->maxes[i][1] = a; } @@ -257,7 +257,7 @@ static int create_vorbis_context(vorbis_enc_context *venc, for (book = 0; book < venc->ncodebooks; book++) { vorbis_enc_codebook *cb = &venc->codebooks[book]; int vals; - cb->ndimentions = cvectors[book].dim; + cb->ndimensions = cvectors[book].dim; cb->nentries = cvectors[book].real_len; cb->min = cvectors[book].min; cb->delta = cvectors[book].delta; @@ -272,7 +272,7 @@ static int create_vorbis_context(vorbis_enc_context *venc, memset(cb->lens + cvectors[book].len, 0, cb->nentries - cvectors[book].len); if (cb->lookup) { - vals = cb_lookup_vals(cb->lookup, cb->ndimentions, cb->nentries); + vals = cb_lookup_vals(cb->lookup, cb->ndimensions, cb->nentries); cb->quantlist = av_malloc(sizeof(int) * vals); if (!cb->quantlist) return AVERROR(ENOMEM); @@ -454,7 +454,7 @@ static void put_codebook_header(PutBitContext *pb, vorbis_enc_codebook *cb) int ordered = 0; put_bits(pb, 24, 0x564342); //magic - put_bits(pb, 16, cb->ndimentions); + put_bits(pb, 16, cb->ndimensions); put_bits(pb, 24, cb->nentries); for (i = 1; i < cb->nentries; i++) @@ -496,7 +496,7 @@ static void put_codebook_header(PutBitContext *pb, vorbis_enc_codebook *cb) put_bits(pb, 4, cb->lookup); if (cb->lookup) { - int tmp = cb_lookup_vals(cb->lookup, cb->ndimentions, cb->nentries); + int tmp = cb_lookup_vals(cb->lookup, cb->ndimensions, cb->nentries); int bits = ilog(cb->quantlist[0]); for (i = 1; i < tmp; i++) @@ -848,13 +848,13 @@ static float *put_vector(vorbis_enc_codebook *book, PutBitContext *pb, { int i, entry = -1; float distance = FLT_MAX; - assert(book->dimentions); + assert(book->dimensions); for (i = 0; i < book->nentries; i++) { - float * vec = book->dimentions + i * book->ndimentions, d = book->pow2[i]; + float * vec = book->dimensions + i * book->ndimensions, d = book->pow2[i]; int j; if (!book->lens[i]) continue; - for (j = 0; j < book->ndimentions; j++) + for (j = 0; j < book->ndimensions; j++) d -= vec[j] * num[j]; if (distance > d) { entry = i; @@ -863,7 +863,7 @@ static float *put_vector(vorbis_enc_codebook *book, PutBitContext *pb, } if (put_codeword(pb, book, entry)) return NULL; - return &book->dimentions[entry * book->ndimentions]; + return &book->dimensions[entry * book->ndimensions]; } static int residue_encode(vorbis_enc_context *venc, vorbis_enc_residue *rc, @@ -875,7 +875,7 @@ static int residue_encode(vorbis_enc_context *venc, vorbis_enc_residue *rc, int partitions = (rc->end - rc->begin) / psize; int channels = (rc->type == 2) ? 1 : real_ch; int classes[MAX_CHANNELS][NUM_RESIDUE_PARTITIONS]; - int classwords = venc->codebooks[rc->classbook].ndimentions; + int classwords = venc->codebooks[rc->classbook].ndimensions; assert(rc->type == 2); assert(real_ch == 2); @@ -916,15 +916,15 @@ static int residue_encode(vorbis_enc_context *venc, vorbis_enc_residue *rc, continue; assert(rc->type == 0 || rc->type == 2); - assert(!(psize % book->ndimentions)); + assert(!(psize % book->ndimensions)); if (rc->type == 0) { - for (k = 0; k < psize; k += book->ndimentions) { + for (k = 0; k < psize; k += book->ndimensions) { int l; float *a = put_vector(book, pb, &buf[k]); if (!a) return AVERROR(EINVAL); - for (l = 0; l < book->ndimentions; l++) + for (l = 0; l < book->ndimensions; l++) buf[k + l] -= a[l]; } } else { @@ -932,10 +932,10 @@ static int residue_encode(vorbis_enc_context *venc, vorbis_enc_residue *rc, a1 = (s % real_ch) * samples; b1 = s / real_ch; s = real_ch * samples; - for (k = 0; k < psize; k += book->ndimentions) { + for (k = 0; k < psize; k += book->ndimensions) { int dim, a2 = a1, b2 = b1; float vec[MAX_CODEBOOK_DIM], *pv = vec; - for (dim = book->ndimentions; dim--; ) { + for (dim = book->ndimensions; dim--; ) { *pv++ = coeffs[a2 + b2]; if ((a2 += samples) == s) { a2 = 0; @@ -945,7 +945,7 @@ static int residue_encode(vorbis_enc_context *venc, vorbis_enc_residue *rc, pv = put_vector(book, pb, vec); if (!pv) return AVERROR(EINVAL); - for (dim = book->ndimentions; dim--; ) { + for (dim = book->ndimensions; dim--; ) { coeffs[a1 + b1] -= *pv++; if ((a1 += samples) == s) { a1 = 0; @@ -1098,7 +1098,7 @@ static av_cold int vorbis_encode_close(AVCodecContext *avccontext) av_freep(&venc->codebooks[i].lens); av_freep(&venc->codebooks[i].codewords); av_freep(&venc->codebooks[i].quantlist); - av_freep(&venc->codebooks[i].dimentions); + av_freep(&venc->codebooks[i].dimensions); av_freep(&venc->codebooks[i].pow2); } av_freep(&venc->codebooks); diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c index 52a6f6e96f..cff970ee4e 100644 --- a/libavformat/mpegts.c +++ b/libavformat/mpegts.c @@ -1385,8 +1385,7 @@ int ff_parse_mpeg2_descriptor(AVFormatContext *fc, AVStream *st, int stream_type case 0x05: /* registration descriptor */ st->codec->codec_tag = bytestream_get_le32(pp); av_dlog(fc, "reg_desc=%.4s\n", (char*)&st->codec->codec_tag); - if (st->codec->codec_id == CODEC_ID_NONE && - stream_type == STREAM_TYPE_PRIVATE_DATA) + if (st->codec->codec_id == CODEC_ID_NONE) mpegts_find_stream_type(st, st->codec->codec_tag, REGD_types); break; case 0x52: /* stream identifier descriptor */ diff --git a/libavformat/r3d.c b/libavformat/r3d.c index b37f065693..757e583213 100644 --- a/libavformat/r3d.c +++ b/libavformat/r3d.c @@ -288,7 +288,7 @@ static int r3d_read_reda(AVFormatContext *s, AVPacket *pkt, Atom *atom) tmp = avio_rb32(s->pb); av_dlog(s, "packet num %d\n", tmp); - tmp = avio_rb16(s->pb); // unkown + tmp = avio_rb16(s->pb); // unknown av_dlog(s, "unknown %d\n", tmp); tmp = avio_r8(s->pb); // major version diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c index 023411c9f5..f2f69642ec 100644 --- a/libavformat/rtsp.c +++ b/libavformat/rtsp.c @@ -1345,7 +1345,7 @@ int ff_rtsp_make_setup_request(AVFormatContext *s, const char *host, int port, break; } case RTSP_LOWER_TRANSPORT_UDP_MULTICAST: { - char url[1024], namebuf[50]; + char url[1024], namebuf[50], optbuf[20] = ""; struct sockaddr_storage addr; int port, ttl; @@ -1358,10 +1358,12 @@ int ff_rtsp_make_setup_request(AVFormatContext *s, const char *host, int port, port = rtsp_st->sdp_port; ttl = rtsp_st->sdp_ttl; } + if (ttl > 0) + snprintf(optbuf, sizeof(optbuf), "?ttl=%d", ttl); getnameinfo((struct sockaddr*) &addr, sizeof(addr), namebuf, sizeof(namebuf), NULL, 0, NI_NUMERICHOST); ff_url_join(url, sizeof(url), "rtp", NULL, namebuf, - port, "?ttl=%d", ttl); + port, "%s", optbuf); if (ffurl_open(&rtsp_st->rtp_handle, url, AVIO_FLAG_READ_WRITE, &s->interrupt_callback, NULL) < 0) { err = AVERROR_INVALIDDATA; diff --git a/libavformat/udp.c b/libavformat/udp.c index d3e4d906a7..cfc5ae51db 100644 --- a/libavformat/udp.c +++ b/libavformat/udp.c @@ -473,13 +473,16 @@ static int udp_open(URLContext *h, const char *uri, int flags) goto fail; } - /* the bind is needed to give a port to the socket now */ - /* if multicast, try the multicast address bind first */ - if (s->is_multicast && (h->flags & AVIO_FLAG_READ)) { + /* If multicast, try binding the multicast address first, to avoid + * receiving UDP packets from other sources aimed at the same UDP + * port. This fails on windows. This makes sending to the same address + * using sendto() fail, so only do it if we're opened in read-only mode. */ + if (s->is_multicast && !(h->flags & AVIO_FLAG_WRITE)) { bind_ret = bind(udp_fd,(struct sockaddr *)&s->dest_addr, len); } /* bind to the local address if not multicast or if the multicast * bind failed */ + /* the bind is needed to give a port to the socket now */ if (bind_ret < 0 && bind(udp_fd,(struct sockaddr *)&my_addr, len) < 0) { av_log(h, AV_LOG_ERROR, "bind failed: %s\n", strerror(errno)); goto fail; @@ -490,11 +493,12 @@ static int udp_open(URLContext *h, const char *uri, int flags) s->local_port = udp_port(&my_addr, len); if (s->is_multicast) { - if (!(h->flags & AVIO_FLAG_READ)) { + if (h->flags & AVIO_FLAG_WRITE) { /* output */ if (udp_set_multicast_ttl(udp_fd, s->ttl, (struct sockaddr *)&s->dest_addr) < 0) goto fail; - } else { + } + if (h->flags & AVIO_FLAG_READ) { /* input */ if (udp_join_multicast_group(udp_fd, (struct sockaddr *)&s->dest_addr) < 0) goto fail; diff --git a/tools/lavfi-showfiltfmts.c b/tools/lavfi-showfiltfmts.c index 5647cbf523..9f9029dcfd 100644 --- a/tools/lavfi-showfiltfmts.c +++ b/tools/lavfi-showfiltfmts.c @@ -97,7 +97,7 @@ int main(int argc, char **argv) } if (avfilter_open(&filter_ctx, filter, NULL) < 0) { - fprintf(stderr, "Inpossible to open filter with name '%s'\n", + fprintf(stderr, "Impossible to open filter with name '%s'\n", filter_name); return 1; } diff --git a/tools/patcheck b/tools/patcheck index c5506e6de5..28cd19361f 100755 --- a/tools/patcheck +++ b/tools/patcheck @@ -67,8 +67,7 @@ $EGREP $OPT '^\+ *(const *|)static' $*| $EGREP --color=always '[^=]= *(0|NULL)[^ cat $TMP hiegrep '# *ifdef * (HAVE|CONFIG)_' 'ifdefs that should be #if' $* -hiegrep '\b(awnser|cant|dont|wont|usefull|successfull|occured|teh|alot|wether|skiped|heigth|informations|colums|loosy|loosing|ouput|seperate|preceed|upto|paket|posible)\b' 'common typos' $* - +hiegrep '\b(awnser|cant|dont|wont|usefull|successfull|occured|teh|alot|wether|skiped|heigth|informations|colums|loosy|loosing|ouput|seperate|preceed|upto|paket|posible|unkown|inpossible|dimention)\b' 'common typos' $* hiegrep 'av_log\( *NULL' 'Missing context in av_log' $* hiegrep '[^sn]printf' 'Please use av_log' $* hiegrep '\bmalloc' 'Please use av_malloc' $* |