Browse Source

Merge remote-tracking branch 'qatar/master'

* qatar/master:
  Revert "v210enc: use FFALIGN()"
  doxygen: Do not include license boilerplates in Doxygen comment blocks.
  avplay: reset decoder flush state when seeking
  ape: skip packets with invalid size
  ape: calculate final packet size instead of guessing
  ape: stop reading after the last frame has been read
  ape: return AVERROR_EOF instead of AVERROR(EIO) when demuxing is finished
  ape: return error if seeking to the current packet fails in ape_read_packet()
  avcodec: Clarify AVFrame member documentation.
  v210dec: check for coded_frame allocation failure
  v210enc: use stride as it is already calculated
  v210enc: use FFALIGN()
  v210enc: return proper AVERROR codes instead of -1
  v210enc: do not set coded_frame->key_frame
  v210enc: check for coded_frame allocation failure
  drawtext: add 'fix_bounds' option on coords fixing
  drawtext: fix text_{w, h} expression vars
  drawtext: add missing braces around an if() block.

Conflicts:
	libavcodec/arm/vp8.h
	libavcodec/arm/vp8dsp_init_arm.c
	libavcodec/v210dec.c
	libavfilter/vf_drawtext.c
	libavformat/ape.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
tags/n0.11
Michael Niedermayer 14 years ago
parent
commit
b479e01612
21 changed files with 56 additions and 29 deletions
  1. +3
    -0
      doc/filters.texi
  2. +3
    -1
      ffplay.c
  3. +1
    -1
      libavcodec/alacenc.c
  4. +1
    -1
      libavcodec/arm/vp8.h
  5. +1
    -1
      libavcodec/arm/vp8_armv6.S
  6. +1
    -1
      libavcodec/arm/vp8dsp_init_arm.c
  7. +1
    -1
      libavcodec/arm/vp8dsp_neon.S
  8. +2
    -2
      libavcodec/avcodec.h
  9. +1
    -1
      libavcodec/flacenc.c
  10. +1
    -1
      libavcodec/jfdctint.c
  11. +1
    -1
      libavcodec/lpc.c
  12. +1
    -1
      libavcodec/lpc.h
  13. +1
    -1
      libavcodec/ppc/vp8dsp_altivec.c
  14. +3
    -3
      libavcodec/v210enc.c
  15. +1
    -1
      libavcodec/vp8.c
  16. +1
    -1
      libavcodec/vp8.h
  17. +5
    -1
      libavfilter/vf_drawtext.c
  18. +25
    -7
      libavformat/ape.c
  19. +1
    -1
      libavformat/rtpdec_latm.c
  20. +1
    -1
      libavformat/rtpdec_mpeg4.c
  21. +1
    -1
      libavformat/rtpdec_qcelp.c

+ 3
- 0
doc/filters.texi View File

@@ -1256,6 +1256,9 @@ libfreetype flags.
@item tabsize
The size in number of spaces to use for rendering the tab.
Default value is 4.

@item fix_bounds
If true, check and fix text coords to avoid clipping.
@end table

The parameters for @var{x} and @var{y} are expressions containing the


+ 3
- 1
ffplay.c View File

@@ -2145,8 +2145,10 @@ static int audio_decode_frame(VideoState *is, double *pts_ptr)
if ((new_packet = packet_queue_get(&is->audioq, pkt, 1)) < 0)
return -1;

if (pkt->data == flush_pkt.data)
if (pkt->data == flush_pkt.data) {
avcodec_flush_buffers(dec);
flush_complete = 0;
}

*pkt_temp = *pkt;



+ 1
- 1
libavcodec/alacenc.c View File

@@ -1,4 +1,4 @@
/**
/*
* ALAC audio encoder
* Copyright (c) 2008 Jaikrishnan Menon <realityman@gmx.net>
*


+ 1
- 1
libavcodec/arm/vp8.h View File

@@ -1,4 +1,4 @@
/**
/*
* This file is part of FFmpeg.
*
* FFmpeg is free software; you can redistribute it and/or


+ 1
- 1
libavcodec/arm/vp8_armv6.S View File

@@ -1,4 +1,4 @@
/**
/*
* Copyright (C) 2010 Mans Rullgard
*
* This file is part of FFmpeg.


+ 1
- 1
libavcodec/arm/vp8dsp_init_arm.c View File

@@ -1,4 +1,4 @@
/**
/*
* This file is part of FFmpeg.
*
* FFmpeg is free software; you can redistribute it and/or


+ 1
- 1
libavcodec/arm/vp8dsp_neon.S View File

@@ -1,4 +1,4 @@
/**
/*
* VP8 NEON optimisations
*
* Copyright (c) 2010 Rob Clark <rob@ti.com>


+ 2
- 2
libavcodec/avcodec.h View File

@@ -884,7 +884,7 @@ typedef struct AVFrame {
* For audio, only linesize[0] may be set. For planar audio, each channel
* plane must be the same size.
*
* - encoding: Set by user (video only)
* - encoding: Set by user
* - decoding: set by AVCodecContext.get_buffer()
*/
int linesize[AV_NUM_DATA_POINTERS];
@@ -1134,7 +1134,7 @@ typedef struct AVFrame {

/**
* number of audio samples (per channel) described by this frame
* - encoding: unused
* - encoding: Set by user
* - decoding: Set by libavcodec
*/
int nb_samples;


+ 1
- 1
libavcodec/flacenc.c View File

@@ -1,4 +1,4 @@
/**
/*
* FLAC audio encoder
* Copyright (c) 2006 Justin Ruggles <justin.ruggles@gmail.com>
*


+ 1
- 1
libavcodec/jfdctint.c View File

@@ -1,4 +1,4 @@
/**
/*
* This file is part of Libav.
*
* Libav is free software; you can redistribute it and/or


+ 1
- 1
libavcodec/lpc.c View File

@@ -1,4 +1,4 @@
/**
/*
* LPC utility code
* Copyright (c) 2006 Justin Ruggles <justin.ruggles@gmail.com>
*


+ 1
- 1
libavcodec/lpc.h View File

@@ -1,4 +1,4 @@
/**
/*
* LPC utility code
* Copyright (c) 2006 Justin Ruggles <justin.ruggles@gmail.com>
*


+ 1
- 1
libavcodec/ppc/vp8dsp_altivec.c View File

@@ -1,4 +1,4 @@
/**
/*
* VP8 compatible video decoder
*
* Copyright (C) 2010 David Conrad


+ 3
- 3
libavcodec/v210enc.c View File

@@ -28,7 +28,7 @@ static av_cold int encode_init(AVCodecContext *avctx)
{
if (avctx->width & 1) {
av_log(avctx, AV_LOG_ERROR, "v210 needs even width\n");
return -1;
return AVERROR(EINVAL);
}

if (avctx->pix_fmt != PIX_FMT_YUV422P10) {
@@ -62,9 +62,9 @@ static int encode_frame(AVCodecContext *avctx, unsigned char *buf,
uint8_t *p = buf;
uint8_t *pdst = buf;

if (buf_size < aligned_width * avctx->height * 8 / 3) {
if (buf_size < avctx->height * stride) {
av_log(avctx, AV_LOG_ERROR, "output buffer too small\n");
return -1;
return AVERROR(ENOMEM);
}

#define CLIP(v) av_clip(v, 4, 1019)


+ 1
- 1
libavcodec/vp8.c View File

@@ -1,4 +1,4 @@
/**
/*
* VP8 compatible video decoder
*
* Copyright (C) 2010 David Conrad


+ 1
- 1
libavcodec/vp8.h View File

@@ -1,4 +1,4 @@
/**
/*
* VP8 compatible video decoder
*
* Copyright (C) 2010 David Conrad


+ 5
- 1
libavfilter/vf_drawtext.c View File

@@ -139,6 +139,7 @@ typedef struct {
short int draw_box; ///< draw box around text - true or false
int use_kerning; ///< font kerning is used - true/false
int tabsize; ///< tab size
int fix_bounds; ///< do we let it go out of frame bounds - t/f

FT_Library library; ///< freetype font library handle
FT_Face face; ///< freetype font face handle
@@ -184,6 +185,8 @@ static const AVOption drawtext_options[]= {
{"timecode", "set initial timecode", OFFSET(tc_opt_string), AV_OPT_TYPE_STRING, {.str=NULL}, CHAR_MIN, CHAR_MAX },
{"r", "set rate (timecode only)", OFFSET(tc_rate), AV_OPT_TYPE_RATIONAL, {.dbl=0}, 0, INT_MAX },
{"rate", "set rate (timecode only)", OFFSET(tc_rate), AV_OPT_TYPE_RATIONAL, {.dbl=0}, 0, INT_MAX },
{"fix_bounds", "if true, check and fix text coords to avoid clipping",
OFFSET(fix_bounds), AV_OPT_TYPE_INT, {.dbl=1}, 0, 1 },

/* FT_LOAD_* flags */
{"ft_load_flags", "set font loading flags for libfreetype", OFFSET(ft_load_flags), AV_OPT_TYPE_FLAGS, {.dbl=FT_LOAD_DEFAULT|FT_LOAD_RENDER}, 0, INT_MAX, 0, "ft_load_flags" },
@@ -754,8 +757,9 @@ static int draw_text(AVFilterContext *ctx, AVFilterBufferRef *picref,
/* get glyph */
dummy.code = code;
glyph = av_tree_find(dtext->glyphs, &dummy, glyph_cmp, NULL);
if (!glyph)
if (!glyph) {
load_glyph(ctx, &glyph, code);
}

y_min = FFMIN(glyph->bbox.yMin, y_min);
y_max = FFMAX(glyph->bbox.yMax, y_max);


+ 25
- 7
libavformat/ape.c View File

@@ -159,8 +159,8 @@ static int ape_read_header(AVFormatContext * s)
AVStream *st;
uint32_t tag;
int i;
int total_blocks;
int64_t pts;
int total_blocks, final_size = 0;
int64_t pts, file_size;

/* Skip any leading junk such as id3v2 tags */
ape->junklength = avio_tell(pb);
@@ -289,8 +289,17 @@ static int ape_read_header(AVFormatContext * s)
ape->frames[i - 1].size = ape->frames[i].pos - ape->frames[i - 1].pos;
ape->frames[i].skip = (ape->frames[i].pos - ape->frames[0].pos) & 3;
}
ape->frames[ape->totalframes - 1].size = ape->finalframeblocks * 4;
ape->frames[ape->totalframes - 1].nblocks = ape->finalframeblocks;
/* calculate final packet size from total file size, if available */
file_size = avio_size(pb);
if (file_size > 0) {
final_size = file_size - ape->frames[ape->totalframes - 1].pos -
ape->wavtaillength;
final_size -= final_size & 3;
}
if (file_size <= 0 || final_size <= 0)
final_size = ape->finalframeblocks * 8;
ape->frames[ape->totalframes - 1].size = final_size;

for (i = 0; i < ape->totalframes; i++) {
if(ape->frames[i].skip){
@@ -357,11 +366,12 @@ static int ape_read_packet(AVFormatContext * s, AVPacket * pkt)
uint32_t extra_size = 8;

if (url_feof(s->pb))
return AVERROR(EIO);
if (ape->currentframe > ape->totalframes)
return AVERROR(EIO);
return AVERROR_EOF;
if (ape->currentframe >= ape->totalframes)
return AVERROR_EOF;

avio_seek (s->pb, ape->frames[ape->currentframe].pos, SEEK_SET);
if (avio_seek(s->pb, ape->frames[ape->currentframe].pos, SEEK_SET) < 0)
return AVERROR(EIO);

/* Calculate how many blocks there are in this frame */
if (ape->currentframe == (ape->totalframes - 1))
@@ -369,6 +379,14 @@ static int ape_read_packet(AVFormatContext * s, AVPacket * pkt)
else
nblocks = ape->blocksperframe;

if (ape->frames[ape->currentframe].size <= 0 ||
ape->frames[ape->currentframe].size > INT_MAX - extra_size) {
av_log(s, AV_LOG_ERROR, "invalid packet size: %d\n",
ape->frames[ape->currentframe].size);
ape->currentframe++;
return AVERROR(EIO);
}

if (av_new_packet(pkt, ape->frames[ape->currentframe].size + extra_size) < 0)
return AVERROR(ENOMEM);



+ 1
- 1
libavformat/rtpdec_latm.c View File

@@ -1,4 +1,4 @@
/**
/*
* RTP Depacketization of MP4A-LATM, RFC 3016
* Copyright (c) 2010 Martin Storsjo
*


+ 1
- 1
libavformat/rtpdec_mpeg4.c View File

@@ -1,4 +1,4 @@
/**
/*
* Common code for the RTP depacketization of MPEG-4 formats.
* Copyright (c) 2010 Fabrice Bellard
* Romain Degez


+ 1
- 1
libavformat/rtpdec_qcelp.c View File

@@ -1,4 +1,4 @@
/**
/*
* RTP Depacketization of QCELP/PureVoice, RFC 2658
* Copyright (c) 2010 Martin Storsjo
*


Loading…
Cancel
Save