aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2013-01-15 15:23:20 +0100
committerMichael Niedermayer <michaelni@gmx.at>2013-01-15 15:23:20 +0100
commitcfc40a6aff8d35627469ef960531264c2f66a74e (patch)
tree8b153d939fe63d808438c444b464be66c81c4ae2 /libavcodec
parent24d06cb2089fbe74912e82d613b8c166be1386a8 (diff)
parentd8c772de53d29afb1bada88afa859fce8489c668 (diff)
downloadffmpeg-cfc40a6aff8d35627469ef960531264c2f66a74e.tar.gz
Merge commit 'd8c772de53d29afb1bada88afa859fce8489c668'
* commit 'd8c772de53d29afb1bada88afa859fce8489c668': nutdec: Always return a value from nut_read_timestamp() configure: Make warnings from -Wreturn-type fatal errors x86: ABS2: port to cpuflags vdpau: Remove av_unused attribute from function declaration h264: fix ff_generate_sliding_window_mmcos() prototype. Conflicts: configure libavformat/nutdec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/h264.c4
-rw-r--r--libavcodec/h264.h2
-rw-r--r--libavcodec/h264_refs.c12
-rw-r--r--libavcodec/vdpau_internal.h3
-rw-r--r--libavcodec/x86/ac3dsp.asm3
-rw-r--r--libavcodec/x86/dsputilenc.asm2
6 files changed, 13 insertions, 13 deletions
diff --git a/libavcodec/h264.c b/libavcodec/h264.c
index 7ae2566861..feac742cf4 100644
--- a/libavcodec/h264.c
+++ b/libavcodec/h264.c
@@ -2980,7 +2980,9 @@ static int decode_slice_header(H264Context *h, H264Context *h0)
s->current_picture_ptr->frame_num = h->prev_frame_num;
ff_thread_report_progress(&s->current_picture_ptr->f, INT_MAX, 0);
ff_thread_report_progress(&s->current_picture_ptr->f, INT_MAX, 1);
- ff_generate_sliding_window_mmcos(h, 1);
+ if ((ret = ff_generate_sliding_window_mmcos(h, 1)) < 0 &&
+ s->avctx->err_recognition & AV_EF_EXPLODE)
+ return ret;
if (ff_h264_execute_ref_pic_marking(h, h->mmco, h->mmco_index) < 0 &&
(s->avctx->err_recognition & AV_EF_EXPLODE))
return AVERROR_INVALIDDATA;
diff --git a/libavcodec/h264.h b/libavcodec/h264.h
index b435180666..4b6a19ed4a 100644
--- a/libavcodec/h264.h
+++ b/libavcodec/h264.h
@@ -672,7 +672,7 @@ int ff_h264_execute_ref_pic_marking(H264Context *h, MMCO *mmco, int mmco_count);
int ff_h264_decode_ref_pic_marking(H264Context *h, GetBitContext *gb,
int first_slice);
-void ff_generate_sliding_window_mmcos(H264Context *h, int first_slice);
+int ff_generate_sliding_window_mmcos(H264Context *h, int first_slice);
/**
* Check if the top & left blocks are available if needed & change the
diff --git a/libavcodec/h264_refs.c b/libavcodec/h264_refs.c
index 944f418eed..d09f15cacd 100644
--- a/libavcodec/h264_refs.c
+++ b/libavcodec/h264_refs.c
@@ -492,7 +492,7 @@ static int check_opcodes(MMCO *mmco1, MMCO *mmco2, int n_mmcos)
return 0;
}
-void ff_generate_sliding_window_mmcos(H264Context *h, int first_slice)
+int ff_generate_sliding_window_mmcos(H264Context *h, int first_slice)
{
MpegEncContext * const s = &h->s;
MMCO mmco_temp[MAX_MMCO_COUNT], *mmco = first_slice ? h->mmco : mmco_temp;
@@ -523,6 +523,7 @@ void ff_generate_sliding_window_mmcos(H264Context *h, int first_slice)
mmco_index, h->mmco_index, i);
return AVERROR_INVALIDDATA;
}
+ return 0;
}
int ff_h264_execute_ref_pic_marking(H264Context *h, MMCO *mmco, int mmco_count){
@@ -696,7 +697,7 @@ int ff_h264_decode_ref_pic_marking(H264Context *h, GetBitContext *gb,
int first_slice)
{
MpegEncContext * const s = &h->s;
- int i;
+ int i, ret;
MMCO mmco_temp[MAX_MMCO_COUNT], *mmco = first_slice ? h->mmco : mmco_temp;
int mmco_index = 0;
@@ -753,8 +754,11 @@ int ff_h264_decode_ref_pic_marking(H264Context *h, GetBitContext *gb,
}
mmco_index = i;
} else {
- if (first_slice)
- ff_generate_sliding_window_mmcos(h, first_slice);
+ if (first_slice) {
+ ret = ff_generate_sliding_window_mmcos(h, first_slice);
+ if (ret < 0 && s->avctx->err_recognition & AV_EF_EXPLODE)
+ return ret;
+ }
mmco_index = -1;
}
}
diff --git a/libavcodec/vdpau_internal.h b/libavcodec/vdpau_internal.h
index f50ae77016..33f03cffd9 100644
--- a/libavcodec/vdpau_internal.h
+++ b/libavcodec/vdpau_internal.h
@@ -34,8 +34,7 @@ static inline uintptr_t ff_vdpau_get_surface_id(Picture *pic)
}
int ff_vdpau_common_start_frame(AVCodecContext *avctx,
- av_unused const uint8_t *buffer,
- av_unused uint32_t size);
+ const uint8_t *buffer, uint32_t size);
int ff_vdpau_common_end_frame(AVCodecContext *avctx);
int ff_vdpau_add_buffer(AVCodecContext *avctx,
const uint8_t *buf, uint32_t buf_size);
diff --git a/libavcodec/x86/ac3dsp.asm b/libavcodec/x86/ac3dsp.asm
index 4958a7b67e..98fb4462bc 100644
--- a/libavcodec/x86/ac3dsp.asm
+++ b/libavcodec/x86/ac3dsp.asm
@@ -151,15 +151,12 @@ cglobal ac3_max_msb_abs_int16, 2,2,5, src, len
%endmacro
INIT_MMX mmx
-%define ABS2 ABS2_MMX
AC3_MAX_MSB_ABS_INT16 or_abs
INIT_MMX mmxext
-%define ABS2 ABS2_MMXEXT
AC3_MAX_MSB_ABS_INT16 min_max
INIT_XMM sse2
AC3_MAX_MSB_ABS_INT16 min_max
INIT_XMM ssse3
-%define ABS2 ABS2_SSSE3
AC3_MAX_MSB_ABS_INT16 or_abs
;-----------------------------------------------------------------------------
diff --git a/libavcodec/x86/dsputilenc.asm b/libavcodec/x86/dsputilenc.asm
index 5b06d3ba1a..b1dc99e2a2 100644
--- a/libavcodec/x86/dsputilenc.asm
+++ b/libavcodec/x86/dsputilenc.asm
@@ -263,7 +263,6 @@ INIT_MMX mmxext
HADAMARD8_DIFF
INIT_XMM sse2
-%define ABS2 ABS2_MMXEXT
%if ARCH_X86_64
%define ABS_SUM_8x8 ABS_SUM_8x8_64
%else
@@ -272,7 +271,6 @@ INIT_XMM sse2
HADAMARD8_DIFF 10
INIT_XMM ssse3
-%define ABS2 ABS2_SSSE3
%define ABS_SUM_8x8 ABS_SUM_8x8_64
HADAMARD8_DIFF 9