mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
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>
This commit is contained in:
commit
cfc40a6aff
2
configure
vendored
2
configure
vendored
@ -4101,6 +4101,7 @@ elif enabled gcc; then
|
||||
check_optflags -fno-tree-vectorize
|
||||
check_cflags -Werror=implicit-function-declaration
|
||||
check_cflags -Werror=missing-prototypes
|
||||
check_cflags -Werror=return-type
|
||||
check_cflags -Werror=vla
|
||||
elif enabled llvm_gcc; then
|
||||
check_cflags -mllvm -stack-alignment=16
|
||||
@ -4109,6 +4110,7 @@ elif enabled clang; then
|
||||
check_cflags -Qunused-arguments
|
||||
check_cflags -Werror=implicit-function-declaration
|
||||
check_cflags -Werror=missing-prototypes
|
||||
check_cflags -Werror=return-type
|
||||
elif enabled armcc; then
|
||||
# 2523: use of inline assembler is deprecated
|
||||
add_cflags -W${armcc_opt},--diag_suppress=2523
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
@ -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);
|
||||
|
@ -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
|
||||
|
||||
;-----------------------------------------------------------------------------
|
||||
|
@ -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
|
||||
|
||||
|
@ -187,7 +187,18 @@
|
||||
%endif
|
||||
%endmacro
|
||||
|
||||
%macro ABS2_MMX 4 ; a, b, tmp0, tmp1
|
||||
%macro ABS2 4
|
||||
%if cpuflag(ssse3)
|
||||
pabsw %1, %1
|
||||
pabsw %2, %2
|
||||
%elif cpuflag(mmxext) ; a, b, tmp0, tmp1
|
||||
pxor %3, %3
|
||||
pxor %4, %4
|
||||
psubw %3, %1
|
||||
psubw %4, %2
|
||||
pmaxsw %1, %3
|
||||
pmaxsw %2, %4
|
||||
%else ; a, b, tmp0, tmp1
|
||||
pxor %3, %3
|
||||
pxor %4, %4
|
||||
pcmpgtw %3, %1
|
||||
@ -196,20 +207,7 @@
|
||||
pxor %2, %4
|
||||
psubw %1, %3
|
||||
psubw %2, %4
|
||||
%endmacro
|
||||
|
||||
%macro ABS2_MMXEXT 4 ; a, b, tmp0, tmp1
|
||||
pxor %3, %3
|
||||
pxor %4, %4
|
||||
psubw %3, %1
|
||||
psubw %4, %2
|
||||
pmaxsw %1, %3
|
||||
pmaxsw %2, %4
|
||||
%endmacro
|
||||
|
||||
%macro ABS2_SSSE3 4
|
||||
pabsw %1, %1
|
||||
pabsw %2, %2
|
||||
%endif
|
||||
%endmacro
|
||||
|
||||
%macro ABSB_MMX 2
|
||||
@ -252,7 +250,6 @@
|
||||
ABS2 %3, %4, %5, %6
|
||||
%endmacro
|
||||
|
||||
%define ABS2 ABS2_MMX
|
||||
%define ABSB ABSB_MMX
|
||||
%define ABSB2 ABSB2_MMX
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user