summaryrefslogtreecommitdiff
path: root/libavcodec
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2012-02-22 01:35:41 +0100
committerMichael Niedermayer <michaelni@gmx.at>2012-02-22 02:24:18 +0100
commit184fc600e101bb6190ec92a8a3be8898ff22d225 (patch)
tree95dd194f10cf704c3f097fed5eedaf4538a542a5 /libavcodec
parent92b5f71a7d30974250918b12e93c974b9b555d11 (diff)
parent5d42ac7ffb5471666136402a553454caf3a3c989 (diff)
downloadffmpeg-184fc600e101bb6190ec92a8a3be8898ff22d225.tar.gz
Merge remote-tracking branch 'qatar/master'
* qatar/master: mpegvideo_enc: only allocate output packet when we know there will be output Add names for more channel layouts to the channel layout map. sunrast: Add a sample request for RMP_RAW colormap. avcodec: do not override pts or duration from the audio encoder Add prores regression test. Enable already existing rso regression test. Add regression test for "sox" format muxer/demuxer. Add dpx encoding regression test. swscale: K&R formatting cosmetics for PowerPC code (part I/II) img2: Use ff_guess_image2_codec(filename) shorthand where appropriate. Clarify licensing information about files borrowed from libjpeg. Mark mutable static data const where appropriate. avplay: fix -threads option dvbsubdec: avoid undefined signed left shift in RGBA macro mlpdec: use av_log_ask_for_sample() gif: K&R formatting cosmetics png: make .long_name more descriptive movdec: Adjust keyframe flagging in fragmented files rv34: change most "int stride" into "ptrdiff_t stride". Conflicts: avprobe.c ffplay.c libavcodec/mlpdec.c libavcodec/mpegvideo_enc.c libavcodec/pngenc.c libavcodec/x86/v210-init.c libavfilter/vf_boxblur.c libavfilter/vf_crop.c libavfilter/vf_drawtext.c libavfilter/vf_lut.c libavfilter/vf_overlay.c libavfilter/vf_pad.c libavfilter/vf_scale.c libavfilter/vf_select.c libavfilter/vf_setpts.c libavfilter/vf_settb.c libavformat/img2.c libavutil/audioconvert.c tests/codec-regression.sh tests/lavf-regression.sh tests/ref/lavf/dpx tests/ref/vsynth1/prores tests/ref/vsynth2/prores Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/aacdec.c2
-rw-r--r--libavcodec/arm/rv34dsp_init_neon.c4
-rw-r--r--libavcodec/arm/rv40dsp_init_neon.c12
-rw-r--r--libavcodec/dvbsubdec.c2
-rw-r--r--libavcodec/libvpxenc.c2
-rw-r--r--libavcodec/libxvid_rc.c2
-rw-r--r--libavcodec/mlpdec.c30
-rw-r--r--libavcodec/mpegvideo_enc.c28
-rw-r--r--libavcodec/pngdec.c2
-rw-r--r--libavcodec/pngenc.c2
-rw-r--r--libavcodec/rv34dsp.c4
-rw-r--r--libavcodec/rv34dsp.h12
-rw-r--r--libavcodec/rv40dsp.c20
-rw-r--r--libavcodec/sunrast.c6
-rw-r--r--libavcodec/utils.c8
-rw-r--r--libavcodec/x86/rv34dsp_init.c4
-rw-r--r--libavcodec/x86/rv40dsp_init.c4
-rw-r--r--libavcodec/x86/v210-init.c8
18 files changed, 76 insertions, 76 deletions
diff --git a/libavcodec/aacdec.c b/libavcodec/aacdec.c
index d77b46fa21..dbd91a4824 100644
--- a/libavcodec/aacdec.c
+++ b/libavcodec/aacdec.c
@@ -1036,7 +1036,7 @@ static int decode_scalefactors(AACContext *ac, float sf[120], GetBitContext *gb,
int offset[3] = { global_gain, global_gain - 90, 0 };
int clipped_offset;
int noise_flag = 1;
- static const char *sf_str[3] = { "Global gain", "Noise gain", "Intensity stereo position" };
+ static const char *const sf_str[3] = { "Global gain", "Noise gain", "Intensity stereo position" };
for (g = 0; g < ics->num_window_groups; g++) {
for (i = 0; i < ics->max_sfb;) {
int run_end = band_type_run_end[idx];
diff --git a/libavcodec/arm/rv34dsp_init_neon.c b/libavcodec/arm/rv34dsp_init_neon.c
index 744818cee3..b4a2f01f95 100644
--- a/libavcodec/arm/rv34dsp_init_neon.c
+++ b/libavcodec/arm/rv34dsp_init_neon.c
@@ -27,8 +27,8 @@ void ff_rv34_inv_transform_noround_neon(DCTELEM *block);
void ff_rv34_inv_transform_noround_dc_neon(DCTELEM *block);
-void ff_rv34_idct_add_neon(uint8_t *dst, int stride, DCTELEM *block);
-void ff_rv34_idct_dc_add_neon(uint8_t *dst, int stride, int dc);
+void ff_rv34_idct_add_neon(uint8_t *dst, ptrdiff_t stride, DCTELEM *block);
+void ff_rv34_idct_dc_add_neon(uint8_t *dst, ptrdiff_t stride, int dc);
void ff_rv34dsp_init_neon(RV34DSPContext *c, DSPContext* dsp)
{
diff --git a/libavcodec/arm/rv40dsp_init_neon.c b/libavcodec/arm/rv40dsp_init_neon.c
index 898b841344..650ef61878 100644
--- a/libavcodec/arm/rv40dsp_init_neon.c
+++ b/libavcodec/arm/rv40dsp_init_neon.c
@@ -51,20 +51,20 @@ void ff_put_rv40_chroma_mc4_neon(uint8_t *, uint8_t *, int, int, int, int);
void ff_avg_rv40_chroma_mc8_neon(uint8_t *, uint8_t *, int, int, int, int);
void ff_avg_rv40_chroma_mc4_neon(uint8_t *, uint8_t *, int, int, int, int);
-void ff_rv40_weight_func_16_neon(uint8_t *, uint8_t *, uint8_t *, int, int, int);
-void ff_rv40_weight_func_8_neon(uint8_t *, uint8_t *, uint8_t *, int, int, int);
+void ff_rv40_weight_func_16_neon(uint8_t *, uint8_t *, uint8_t *, int, int, ptrdiff_t);
+void ff_rv40_weight_func_8_neon(uint8_t *, uint8_t *, uint8_t *, int, int, ptrdiff_t);
-int ff_rv40_h_loop_filter_strength_neon(uint8_t *src, int stride,
+int ff_rv40_h_loop_filter_strength_neon(uint8_t *src, ptrdiff_t stride,
int beta, int beta2, int edge,
int *p1, int *q1);
-int ff_rv40_v_loop_filter_strength_neon(uint8_t *src, int stride,
+int ff_rv40_v_loop_filter_strength_neon(uint8_t *src, ptrdiff_t stride,
int beta, int beta2, int edge,
int *p1, int *q1);
-void ff_rv40_h_weak_loop_filter_neon(uint8_t *src, int stride, int filter_p1,
+void ff_rv40_h_weak_loop_filter_neon(uint8_t *src, ptrdiff_t stride, int filter_p1,
int filter_q1, int alpha, int beta,
int lim_p0q0, int lim_q1, int lim_p1);
-void ff_rv40_v_weak_loop_filter_neon(uint8_t *src, int stride, int filter_p1,
+void ff_rv40_v_weak_loop_filter_neon(uint8_t *src, ptrdiff_t stride, int filter_p1,
int filter_q1, int alpha, int beta,
int lim_p0q0, int lim_q1, int lim_p1);
diff --git a/libavcodec/dvbsubdec.c b/libavcodec/dvbsubdec.c
index e2b4ee6193..6105aa3904 100644
--- a/libavcodec/dvbsubdec.c
+++ b/libavcodec/dvbsubdec.c
@@ -150,7 +150,7 @@ static void png_save2(const char *filename, uint32_t *bitmap, int w, int h)
}
#endif
-#define RGBA(r,g,b,a) (((a) << 24) | ((r) << 16) | ((g) << 8) | (b))
+#define RGBA(r,g,b,a) (((unsigned)(a) << 24) | ((r) << 16) | ((g) << 8) | (b))
typedef struct DVBSubCLUT {
int id;
diff --git a/libavcodec/libvpxenc.c b/libavcodec/libvpxenc.c
index f6d03a9d43..c7e18f0229 100644
--- a/libavcodec/libvpxenc.c
+++ b/libavcodec/libvpxenc.c
@@ -77,7 +77,7 @@ typedef struct VP8EncoderContext {
} VP8Context;
/** String mappings for enum vp8e_enc_control_id */
-static const char *ctlidstr[] = {
+static const char *const ctlidstr[] = {
[VP8E_UPD_ENTROPY] = "VP8E_UPD_ENTROPY",
[VP8E_UPD_REFERENCE] = "VP8E_UPD_REFERENCE",
[VP8E_USE_REFERENCE] = "VP8E_USE_REFERENCE",
diff --git a/libavcodec/libxvid_rc.c b/libavcodec/libxvid_rc.c
index 08d306e82f..d65e4f2676 100644
--- a/libavcodec/libxvid_rc.c
+++ b/libavcodec/libxvid_rc.c
@@ -48,7 +48,7 @@ int ff_xvid_rate_control_init(MpegEncContext *s){
}
for(i=0; i<s->rc_context.num_entries; i++){
- static const char *frame_types = " ipbs";
+ static const char frame_types[] = " ipbs";
char tmp[256];
RateControlEntry *rce;
diff --git a/libavcodec/mlpdec.c b/libavcodec/mlpdec.c
index 9909a71e38..07d5a65826 100644
--- a/libavcodec/mlpdec.c
+++ b/libavcodec/mlpdec.c
@@ -38,12 +38,6 @@
/** number of bits used for VLC lookup - longest Huffman code is 9 */
#define VLC_BITS 9
-
-static const char* sample_message =
- "Please file a bug report following the instructions at "
- "http://ffmpeg.org/bugreports.html and include "
- "a sample of this file.";
-
typedef struct SubStream {
/// Set if a valid restart header has been read. Otherwise the substream cannot be decoded.
uint8_t restart_seen;
@@ -308,10 +302,10 @@ static int read_major_sync(MLPDecodeContext *m, GetBitContext *gb)
return AVERROR_INVALIDDATA;
}
if (mh.num_substreams > MAX_SUBSTREAMS) {
- av_log(m->avctx, AV_LOG_ERROR,
+ av_log_ask_for_sample(m->avctx,
"Number of substreams %d is larger than the maximum supported "
- "by the decoder. %s\n", mh.num_substreams, sample_message);
- return AVERROR_INVALIDDATA;
+ "by the decoder.\n", mh.num_substreams);
+ return AVERROR_PATCHWELCOME;
}
m->access_unit_size = mh.access_unit_size;
@@ -410,10 +404,10 @@ static int read_restart_header(MLPDecodeContext *m, GetBitContext *gbp,
/* This should happen for TrueHD streams with >6 channels and MLP's noise
* type. It is not yet known if this is allowed. */
if (s->max_channel > MAX_MATRIX_CHANNEL_MLP && !s->noise_type) {
- av_log(m->avctx, AV_LOG_ERROR,
+ av_log_ask_for_sample(m->avctx,
"Number of channels %d is larger than the maximum supported "
- "by the decoder. %s\n", s->max_channel+2, sample_message);
- return AVERROR_INVALIDDATA;
+ "by the decoder.\n", s->max_channel + 2);
+ return AVERROR_PATCHWELCOME;
}
if (s->min_channel > s->max_channel) {
@@ -455,10 +449,10 @@ static int read_restart_header(MLPDecodeContext *m, GetBitContext *gbp,
for (ch = 0; ch <= s->max_matrix_channel; ch++) {
int ch_assign = get_bits(gbp, 6);
if (ch_assign > s->max_matrix_channel) {
- av_log(m->avctx, AV_LOG_ERROR,
- "Assignment of matrix channel %d to invalid output channel %d. %s\n",
- ch, ch_assign, sample_message);
- return AVERROR_INVALIDDATA;
+ av_log_ask_for_sample(m->avctx,
+ "Assignment of matrix channel %d to invalid output channel %d.\n",
+ ch, ch_assign);
+ return AVERROR_PATCHWELCOME;
}
s->ch_assign[ch_assign] = ch;
}
@@ -813,8 +807,8 @@ static int read_block_data(MLPDecodeContext *m, GetBitContext *gbp,
if (s->data_check_present) {
expected_stream_pos = get_bits_count(gbp);
expected_stream_pos += get_bits(gbp, 16);
- av_log(m->avctx, AV_LOG_WARNING, "This file contains some features "
- "we have not tested yet. %s\n", sample_message);
+ av_log_ask_for_sample(m->avctx, "This file contains some features "
+ "we have not tested yet.\n");
}
if (s->blockpos + s->blocksize > m->access_unit_size) {
diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c
index d8bbc67e84..0441d8fa35 100644
--- a/libavcodec/mpegvideo_enc.c
+++ b/libavcodec/mpegvideo_enc.c
@@ -1395,20 +1395,6 @@ int ff_MPV_encode_picture(AVCodecContext *avctx, AVPacket *pkt,
int i, stuffing_count, ret;
int context_count = s->slice_context_count;
- if (!pkt->data &&
- (ret = ff_alloc_packet(pkt, s->mb_width*s->mb_height*(MAX_MB_BYTES+100)+10000)) < 0)
- return ret;
-
- for (i = 0; i < context_count; i++) {
- int start_y = s->thread_context[i]->start_mb_y;
- int end_y = s->thread_context[i]-> end_mb_y;
- int h = s->mb_height;
- uint8_t *start = pkt->data + (size_t)(((int64_t) pkt->size) * start_y / h);
- uint8_t *end = pkt->data + (size_t)(((int64_t) pkt->size) * end_y / h);
-
- init_put_bits(&s->thread_context[i]->pb, start, end - start);
- }
-
s->picture_in_gop_number++;
if (load_input_picture(s, pic_arg) < 0)
@@ -1420,6 +1406,20 @@ int ff_MPV_encode_picture(AVCodecContext *avctx, AVPacket *pkt,
/* output? */
if (s->new_picture.f.data[0]) {
+ if (!pkt->data &&
+ (ret = ff_alloc_packet(pkt, s->mb_width*s->mb_height*(MAX_MB_BYTES+100)+10000)) < 0)
+ return ret;
+
+ for (i = 0; i < context_count; i++) {
+ int start_y = s->thread_context[i]->start_mb_y;
+ int end_y = s->thread_context[i]-> end_mb_y;
+ int h = s->mb_height;
+ uint8_t *start = pkt->data + (size_t)(((int64_t) pkt->size) * start_y / h);
+ uint8_t *end = pkt->data + (size_t)(((int64_t) pkt->size) * end_y / h);
+
+ init_put_bits(&s->thread_context[i]->pb, start, end - start);
+ }
+
s->pict_type = s->new_picture.f.pict_type;
//emms_c();
//printf("qs:%f %f %d\n", s->new_picture.quality,
diff --git a/libavcodec/pngdec.c b/libavcodec/pngdec.c
index 7fc28ba756..d4422c181f 100644
--- a/libavcodec/pngdec.c
+++ b/libavcodec/pngdec.c
@@ -732,5 +732,5 @@ AVCodec ff_png_decoder = {
.close = png_dec_end,
.decode = decode_frame,
.capabilities = CODEC_CAP_DR1 /*| CODEC_CAP_DRAW_HORIZ_BAND*/,
- .long_name = NULL_IF_CONFIG_SMALL("PNG image"),
+ .long_name = NULL_IF_CONFIG_SMALL("PNG (Portable Network Graphics) image"),
};
diff --git a/libavcodec/pngenc.c b/libavcodec/pngenc.c
index 60b896473a..138d68d8a0 100644
--- a/libavcodec/pngenc.c
+++ b/libavcodec/pngenc.c
@@ -445,5 +445,5 @@ AVCodec ff_png_encoder = {
PIX_FMT_GRAY8, PIX_FMT_GRAY8A,
PIX_FMT_GRAY16BE,
PIX_FMT_MONOBLACK, PIX_FMT_NONE},
- .long_name= NULL_IF_CONFIG_SMALL("PNG image"),
+ .long_name= NULL_IF_CONFIG_SMALL("PNG (Portable Network Graphics) image"),
};
diff --git a/libavcodec/rv34dsp.c b/libavcodec/rv34dsp.c
index e2251773af..ce5be93894 100644
--- a/libavcodec/rv34dsp.c
+++ b/libavcodec/rv34dsp.c
@@ -53,7 +53,7 @@ static av_always_inline void rv34_row_transform(int temp[16], DCTELEM *block)
* Real Video 3.0/4.0 inverse transform + sample reconstruction
* Code is almost the same as in SVQ3, only scaling is different.
*/
-static void rv34_idct_add_c(uint8_t *dst, int stride, DCTELEM *block){
+static void rv34_idct_add_c(uint8_t *dst, ptrdiff_t stride, DCTELEM *block){
int temp[16];
uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;
int i;
@@ -101,7 +101,7 @@ static void rv34_inv_transform_noround_c(DCTELEM *block){
}
}
-static void rv34_idct_dc_add_c(uint8_t *dst, int stride, int dc)
+static void rv34_idct_dc_add_c(uint8_t *dst, ptrdiff_t stride, int dc)
{
const uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;
int i, j;
diff --git a/libavcodec/rv34dsp.h b/libavcodec/rv34dsp.h
index fe8fcaa8dd..c70194cc20 100644
--- a/libavcodec/rv34dsp.h
+++ b/libavcodec/rv34dsp.h
@@ -32,24 +32,24 @@
typedef void (*rv40_weight_func)(uint8_t *dst/*align width (8 or 16)*/,
uint8_t *src1/*align width (8 or 16)*/,
uint8_t *src2/*align width (8 or 16)*/,
- int w1, int w2, int stride);
+ int w1, int w2, ptrdiff_t stride);
typedef void (*rv34_inv_transform_func)(DCTELEM *block);
-typedef void (*rv34_idct_add_func)(uint8_t *dst, int stride, DCTELEM *block);
-typedef void (*rv34_idct_dc_add_func)(uint8_t *dst, int stride,
+typedef void (*rv34_idct_add_func)(uint8_t *dst, ptrdiff_t stride, DCTELEM *block);
+typedef void (*rv34_idct_dc_add_func)(uint8_t *dst, ptrdiff_t stride,
int dc);
-typedef void (*rv40_weak_loop_filter_func)(uint8_t *src, int stride,
+typedef void (*rv40_weak_loop_filter_func)(uint8_t *src, ptrdiff_t stride,
int filter_p1, int filter_q1,
int alpha, int beta,
int lims, int lim_q1, int lim_p1);
-typedef void (*rv40_strong_loop_filter_func)(uint8_t *src, int stride,
+typedef void (*rv40_strong_loop_filter_func)(uint8_t *src, ptrdiff_t stride,
int alpha, int lims,
int dmode, int chroma);
-typedef int (*rv40_loop_filter_strength_func)(uint8_t *src, int stride,
+typedef int (*rv40_loop_filter_strength_func)(uint8_t *src, ptrdiff_t stride,
int beta, int beta2, int edge,
int *p1, int *q1);
diff --git a/libavcodec/rv40dsp.c b/libavcodec/rv40dsp.c
index 913ced046d..fbe59ef7b3 100644
--- a/libavcodec/rv40dsp.c
+++ b/libavcodec/rv40dsp.c
@@ -278,7 +278,7 @@ RV40_CHROMA_MC(put_, op_put)
RV40_CHROMA_MC(avg_, op_avg)
#define RV40_WEIGHT_FUNC(size) \
-static void rv40_weight_func_ ## size (uint8_t *dst, uint8_t *src1, uint8_t *src2, int w1, int w2, int stride)\
+static void rv40_weight_func_ ## size (uint8_t *dst, uint8_t *src1, uint8_t *src2, int w1, int w2, ptrdiff_t stride)\
{\
int i, j;\
\
@@ -316,7 +316,7 @@ static const uint8_t rv40_dither_r[16] = {
*/
static av_always_inline void rv40_weak_loop_filter(uint8_t *src,
const int step,
- const int stride,
+ const ptrdiff_t stride,
const int filter_p1,
const int filter_q1,
const int alpha,
@@ -362,7 +362,7 @@ static av_always_inline void rv40_weak_loop_filter(uint8_t *src,
}
}
-static void rv40_h_weak_loop_filter(uint8_t *src, const int stride,
+static void rv40_h_weak_loop_filter(uint8_t *src, const ptrdiff_t stride,
const int filter_p1, const int filter_q1,
const int alpha, const int beta,
const int lim_p0q0, const int lim_q1,
@@ -372,7 +372,7 @@ static void rv40_h_weak_loop_filter(uint8_t *src, const int stride,
alpha, beta, lim_p0q0, lim_q1, lim_p1);
}
-static void rv40_v_weak_loop_filter(uint8_t *src, const int stride,
+static void rv40_v_weak_loop_filter(uint8_t *src, const ptrdiff_t stride,
const int filter_p1, const int filter_q1,
const int alpha, const int beta,
const int lim_p0q0, const int lim_q1,
@@ -384,7 +384,7 @@ static void rv40_v_weak_loop_filter(uint8_t *src, const int stride,
static av_always_inline void rv40_strong_loop_filter(uint8_t *src,
const int step,
- const int stride,
+ const ptrdiff_t stride,
const int alpha,
const int lims,
const int dmode,
@@ -440,14 +440,14 @@ static av_always_inline void rv40_strong_loop_filter(uint8_t *src,
}
}
-static void rv40_h_strong_loop_filter(uint8_t *src, const int stride,
+static void rv40_h_strong_loop_filter(uint8_t *src, const ptrdiff_t stride,
const int alpha, const int lims,
const int dmode, const int chroma)
{
rv40_strong_loop_filter(src, stride, 1, alpha, lims, dmode, chroma);
}
-static void rv40_v_strong_loop_filter(uint8_t *src, const int stride,
+static void rv40_v_strong_loop_filter(uint8_t *src, const ptrdiff_t stride,
const int alpha, const int lims,
const int dmode, const int chroma)
{
@@ -455,7 +455,7 @@ static void rv40_v_strong_loop_filter(uint8_t *src, const int stride,
}
static av_always_inline int rv40_loop_filter_strength(uint8_t *src,
- int step, int stride,
+ int step, ptrdiff_t stride,
int beta, int beta2,
int edge,
int *p1, int *q1)
@@ -490,14 +490,14 @@ static av_always_inline int rv40_loop_filter_strength(uint8_t *src,
return strong0 && strong1;
}
-static int rv40_h_loop_filter_strength(uint8_t *src, int stride,
+static int rv40_h_loop_filter_strength(uint8_t *src, ptrdiff_t stride,
int beta, int beta2, int edge,
int *p1, int *q1)
{
return rv40_loop_filter_strength(src, stride, 1, beta, beta2, edge, p1, q1);
}
-static int rv40_v_loop_filter_strength(uint8_t *src, int stride,
+static int rv40_v_loop_filter_strength(uint8_t *src, ptrdiff_t stride,
int beta, int beta2, int edge,
int *p1, int *q1)
{
diff --git a/libavcodec/sunrast.c b/libavcodec/sunrast.c
index 2dfa902ed0..7137621ece 100644
--- a/libavcodec/sunrast.c
+++ b/libavcodec/sunrast.c
@@ -77,7 +77,11 @@ static int sunrast_decode_frame(AVCodecContext *avctx, void *data,
av_log(avctx, AV_LOG_ERROR, "invalid image size\n");
return AVERROR_INVALIDDATA;
}
- if (maptype & ~1) {
+ if (maptype == RMT_RAW) {
+ av_log_ask_for_sample(avctx, "unsupported colormap type\n");
+ return AVERROR_PATCHWELCOME;
+ }
+ if (maptype > RMT_RAW) {
av_log(avctx, AV_LOG_ERROR, "invalid colormap type\n");
return AVERROR_INVALIDDATA;
}
diff --git a/libavcodec/utils.c b/libavcodec/utils.c
index 4c6823ea76..755186d0b6 100644
--- a/libavcodec/utils.c
+++ b/libavcodec/utils.c
@@ -992,9 +992,11 @@ int attribute_align_arg avcodec_encode_audio2(AVCodecContext *avctx,
ret = avctx->codec->encode2(avctx, avpkt, frame, got_packet_ptr);
if (!ret && *got_packet_ptr) {
if (!(avctx->codec->capabilities & CODEC_CAP_DELAY)) {
- avpkt->pts = frame->pts;
- avpkt->duration = ff_samples_to_time_base(avctx,
- frame->nb_samples);
+ if (avpkt->pts == AV_NOPTS_VALUE)
+ avpkt->pts = frame->pts;
+ if (!avpkt->duration)
+ avpkt->duration = ff_samples_to_time_base(avctx,
+ frame->nb_samples);
}
avpkt->dts = avpkt->pts;
} else {
diff --git a/libavcodec/x86/rv34dsp_init.c b/libavcodec/x86/rv34dsp_init.c
index f3d2e172e7..38831255c9 100644
--- a/libavcodec/x86/rv34dsp_init.c
+++ b/libavcodec/x86/rv34dsp_init.c
@@ -26,8 +26,8 @@
void ff_rv34_idct_dc_mmx2(DCTELEM *block);
void ff_rv34_idct_dc_noround_mmx2(DCTELEM *block);
-void ff_rv34_idct_dc_add_mmx(uint8_t *dst, int stride, int dc);
-void ff_rv34_idct_dc_add_sse4(uint8_t *dst, int stride, int dc);
+void ff_rv34_idct_dc_add_mmx(uint8_t *dst, ptrdiff_t stride, int dc);
+void ff_rv34_idct_dc_add_sse4(uint8_t *dst, ptrdiff_t stride, int dc);
av_cold void ff_rv34dsp_init_x86(RV34DSPContext* c, DSPContext *dsp)
{
diff --git a/libavcodec/x86/rv40dsp_init.c b/libavcodec/x86/rv40dsp_init.c
index 3d6c6f0fa0..79c70f78c3 100644
--- a/libavcodec/x86/rv40dsp_init.c
+++ b/libavcodec/x86/rv40dsp_init.c
@@ -42,9 +42,9 @@ void ff_avg_rv40_chroma_mc4_3dnow(uint8_t *dst, uint8_t *src,
#define DECLARE_WEIGHT(opt) \
void ff_rv40_weight_func_16_##opt(uint8_t *dst, uint8_t *src1, uint8_t *src2, \
- int w1, int w2, int stride); \
+ int w1, int w2, ptrdiff_t stride); \
void ff_rv40_weight_func_8_##opt (uint8_t *dst, uint8_t *src1, uint8_t *src2, \
- int w1, int w2, int stride);
+ int w1, int w2, ptrdiff_t stride);
DECLARE_WEIGHT(mmx)
DECLARE_WEIGHT(sse2)
DECLARE_WEIGHT(ssse3)
diff --git a/libavcodec/x86/v210-init.c b/libavcodec/x86/v210-init.c
index 425c6284c5..c961178e51 100644
--- a/libavcodec/x86/v210-init.c
+++ b/libavcodec/x86/v210-init.c
@@ -1,18 +1,18 @@
/*
- * This file is part of Libav.
+ * This file is part of FFmpeg.
*
- * Libav is free software; you can redistribute it and/or
+ * FFmpeg is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
- * Libav is distributed in the hope that it will be useful,
+ * FFmpeg is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
- * License along with Libav; if not, write to the Free Software
+ * License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/