Merge remote-tracking branch 'rbultje/master'
* rbultje/master: Full-pixel MC functions. VP9 MC (ssse3) optimizations. Native VP9 decoder. Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
commit
4c292d5c34
@ -36,6 +36,7 @@ version <next>
|
||||
- make decoding alpha optional for prores, ffv1 and vp6 by setting
|
||||
the skip_alpha flag.
|
||||
- ladspa wrapper filter
|
||||
- native VP9 decoder
|
||||
|
||||
|
||||
version 2.0:
|
||||
|
1
configure
vendored
1
configure
vendored
@ -1907,6 +1907,7 @@ vp6_decoder_select="h264chroma hpeldsp huffman videodsp vp3dsp"
|
||||
vp6a_decoder_select="vp6_decoder"
|
||||
vp6f_decoder_select="vp6_decoder"
|
||||
vp8_decoder_select="h264pred videodsp"
|
||||
vp9_decoder_select="videodsp"
|
||||
webp_decoder_select="vp8_decoder"
|
||||
wmapro_decoder_select="mdct sinewin"
|
||||
wmav1_decoder_select="mdct sinewin"
|
||||
|
@ -94,7 +94,7 @@ Then pass @code{--enable-libtwolame} to configure to enable it.
|
||||
|
||||
@section libvpx
|
||||
|
||||
FFmpeg can make use of the libvpx library for VP8 encoding.
|
||||
FFmpeg can make use of the libvpx library for VP8/VP9 encoding.
|
||||
|
||||
Go to @url{http://www.webmproject.org/} and follow the instructions for
|
||||
installing the library. Then pass @code{--enable-libvpx} to configure to
|
||||
@ -676,6 +676,8 @@ following image formats are supported:
|
||||
@tab fourcc: VP60,VP61,VP62
|
||||
@item VP8 @tab E @tab X
|
||||
@tab fourcc: VP80, encoding supported through external library libvpx
|
||||
@item VP9 @tab E @tab X
|
||||
@tab encoding supported through external library libvpx
|
||||
@item Pinnacle TARGA CineWave YUV16 @tab @tab X
|
||||
@tab fourcc: Y216
|
||||
@item Prores @tab @tab X
|
||||
|
@ -471,6 +471,7 @@ OBJS-$(CONFIG_VP5_DECODER) += vp5.o vp56.o vp56data.o vp56dsp.o \
|
||||
OBJS-$(CONFIG_VP6_DECODER) += vp6.o vp56.o vp56data.o vp56dsp.o \
|
||||
vp6dsp.o vp56rac.o
|
||||
OBJS-$(CONFIG_VP8_DECODER) += vp8.o vp8dsp.o vp56rac.o
|
||||
OBJS-$(CONFIG_VP9_DECODER) += vp9.o vp9dsp.o vp56rac.o
|
||||
OBJS-$(CONFIG_VPLAYER_DECODER) += textdec.o ass.o
|
||||
OBJS-$(CONFIG_VQA_DECODER) += vqavideo.o
|
||||
OBJS-$(CONFIG_WAVPACK_DECODER) += wavpack.o
|
||||
|
@ -285,6 +285,7 @@ void avcodec_register_all(void)
|
||||
REGISTER_DECODER(VP6A, vp6a);
|
||||
REGISTER_DECODER(VP6F, vp6f);
|
||||
REGISTER_DECODER(VP8, vp8);
|
||||
REGISTER_DECODER(VP9, vp9);
|
||||
REGISTER_DECODER(VQA, vqa);
|
||||
REGISTER_DECODER(WEBP, webp);
|
||||
REGISTER_ENCDEC (WMV1, wmv1);
|
||||
|
3576
libavcodec/vp9.c
Normal file
3576
libavcodec/vp9.c
Normal file
File diff suppressed because it is too large
Load Diff
72
libavcodec/vp9.h
Normal file
72
libavcodec/vp9.h
Normal file
@ -0,0 +1,72 @@
|
||||
/*
|
||||
* VP9 compatible video decoder
|
||||
*
|
||||
* Copyright (C) 2013 Ronald S. Bultje <rsbultje gmail com>
|
||||
* Copyright (C) 2013 Clément Bœsch <u pkh me>
|
||||
*
|
||||
* This file is part of FFmpeg.
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* 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 FFmpeg; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
#ifndef AVCODEC_VP9_H
|
||||
#define AVCODEC_VP9_H
|
||||
|
||||
enum TxfmMode {
|
||||
TX_4X4,
|
||||
TX_8X8,
|
||||
TX_16X16,
|
||||
TX_32X32,
|
||||
N_TXFM_SIZES,
|
||||
TX_SWITCHABLE = N_TXFM_SIZES,
|
||||
N_TXFM_MODES
|
||||
};
|
||||
|
||||
enum TxfmType {
|
||||
DCT_DCT,
|
||||
DCT_ADST,
|
||||
ADST_DCT,
|
||||
ADST_ADST,
|
||||
N_TXFM_TYPES
|
||||
};
|
||||
|
||||
enum IntraPredMode {
|
||||
VERT_PRED,
|
||||
HOR_PRED,
|
||||
DC_PRED,
|
||||
DIAG_DOWN_LEFT_PRED,
|
||||
DIAG_DOWN_RIGHT_PRED,
|
||||
VERT_RIGHT_PRED,
|
||||
HOR_DOWN_PRED,
|
||||
VERT_LEFT_PRED,
|
||||
HOR_UP_PRED,
|
||||
TM_VP8_PRED,
|
||||
LEFT_DC_PRED,
|
||||
TOP_DC_PRED,
|
||||
DC_128_PRED,
|
||||
DC_127_PRED,
|
||||
DC_129_PRED,
|
||||
N_INTRA_PRED_MODES
|
||||
};
|
||||
|
||||
enum FilterMode {
|
||||
FILTER_8TAP_SMOOTH,
|
||||
FILTER_8TAP_REGULAR,
|
||||
FILTER_8TAP_SHARP,
|
||||
FILTER_BILINEAR,
|
||||
FILTER_SWITCHABLE,
|
||||
};
|
||||
|
||||
#endif /* AVCODEC_VP9_H */
|
2153
libavcodec/vp9data.h
Normal file
2153
libavcodec/vp9data.h
Normal file
File diff suppressed because it is too large
Load Diff
2049
libavcodec/vp9dsp.c
Normal file
2049
libavcodec/vp9dsp.c
Normal file
File diff suppressed because it is too large
Load Diff
117
libavcodec/vp9dsp.h
Normal file
117
libavcodec/vp9dsp.h
Normal file
@ -0,0 +1,117 @@
|
||||
/*
|
||||
* VP9 compatible video decoder
|
||||
*
|
||||
* Copyright (C) 2013 Ronald S. Bultje <rsbultje gmail com>
|
||||
* Copyright (C) 2013 Clément Bœsch <u pkh me>
|
||||
*
|
||||
* This file is part of FFmpeg.
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* 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 FFmpeg; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
#ifndef AVCODEC_VP9DSP_H
|
||||
#define AVCODEC_VP9DSP_H
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#include "vp9.h"
|
||||
|
||||
typedef void (*vp9_mc_func)(uint8_t *dst, ptrdiff_t dst_stride,
|
||||
const uint8_t *ref, ptrdiff_t ref_stride,
|
||||
int h, int mx, int my);
|
||||
|
||||
typedef struct VP9DSPContext {
|
||||
/*
|
||||
* dimension 1: 0=4x4, 1=8x8, 2=16x16, 3=32x32
|
||||
* dimension 2: intra prediction modes
|
||||
*
|
||||
* dst/left/top is aligned by transform-size (i.e. 4, 8, 16 or 32 pixels)
|
||||
* stride is aligned by 16 pixels
|
||||
* top[-1] is top/left; top[4,7] is top-right for 4x4
|
||||
*/
|
||||
// FIXME(rbultje) maybe replace left/top pointers with HAVE_TOP/
|
||||
// HAVE_LEFT/HAVE_TOPRIGHT flags instead, and then handle it in-place?
|
||||
// also needs to fit in with what h264/vp8/etc do
|
||||
void (*intra_pred[N_TXFM_SIZES][N_INTRA_PRED_MODES])(uint8_t *dst,
|
||||
ptrdiff_t stride,
|
||||
const uint8_t *left,
|
||||
const uint8_t *top);
|
||||
|
||||
/*
|
||||
* dimension 1: 0=4x4, 1=8x8, 2=16x16, 3=32x32, 4=lossless (3-4=dct only)
|
||||
* dimension 2: 0=dct/dct, 1=dct/adst, 2=adst/dct, 3=adst/adst
|
||||
*
|
||||
* dst is aligned by transform-size (i.e. 4, 8, 16 or 32 pixels)
|
||||
* stride is aligned by 16 pixels
|
||||
* block is 16-byte aligned
|
||||
* eob indicates the position (+1) of the last non-zero coefficient,
|
||||
* in scan-order. This can be used to write faster versions, e.g. a
|
||||
* dc-only 4x4/8x8/16x16/32x32, or a 4x4-only (eob<10) 8x8/16x16/32x32,
|
||||
* etc.
|
||||
*/
|
||||
// FIXME also write idct_add_block() versions for whole (inter) pred
|
||||
// blocks, so we can do 2 4x4s at once
|
||||
void (*itxfm_add[N_TXFM_SIZES + 1][N_TXFM_TYPES])(uint8_t *dst,
|
||||
ptrdiff_t stride,
|
||||
int16_t *block, int eob);
|
||||
|
||||
/*
|
||||
* dimension 1: width of filter (0=4, 1=8, 2=16)
|
||||
* dimension 2: 0=col-edge filter (h), 1=row-edge filter (v)
|
||||
*
|
||||
* dst/stride are aligned by 8
|
||||
*/
|
||||
void (*loop_filter_8[3][2])(uint8_t *dst, ptrdiff_t stride,
|
||||
int mb_lim, int lim, int hev_thr);
|
||||
|
||||
/*
|
||||
* dimension 1: 0=col-edge filter (h), 1=row-edge filter (v)
|
||||
*
|
||||
* The width of filter is assumed to be 16; dst/stride are aligned by 16
|
||||
*/
|
||||
void (*loop_filter_16[2])(uint8_t *dst, ptrdiff_t stride,
|
||||
int mb_lim, int lim, int hev_thr);
|
||||
|
||||
/*
|
||||
* dimension 1/2: width of filter (0=4, 1=8) for each filter half
|
||||
* dimension 3: 0=col-edge filter (h), 1=row-edge filter (v)
|
||||
*
|
||||
* dst/stride are aligned by operation size
|
||||
* this basically calls loop_filter[d1][d3][0](), followed by
|
||||
* loop_filter[d2][d3][0]() on the next 8 pixels
|
||||
* mb_lim/lim/hev_thr contain two values in the lowest two bytes of the
|
||||
* integer.
|
||||
*/
|
||||
// FIXME perhaps a mix4 that operates on 32px (for AVX2)
|
||||
void (*loop_filter_mix2[2][2][2])(uint8_t *dst, ptrdiff_t stride,
|
||||
int mb_lim, int lim, int hev_thr);
|
||||
|
||||
/*
|
||||
* dimension 1: hsize (0: 64, 1: 32, 2: 16, 3: 8, 4: 4)
|
||||
* dimension 2: filter type (0: smooth, 1: regular, 2: sharp, 3: bilin)
|
||||
* dimension 3: averaging type (0: put, 1: avg)
|
||||
* dimension 4: x subpel interpolation (0: none, 1: 8tap/bilin)
|
||||
* dimension 5: y subpel interpolation (1: none, 1: 8tap/bilin)
|
||||
*
|
||||
* dst/stride are aligned by hsize
|
||||
*/
|
||||
vp9_mc_func mc[5][4][2][2][2];
|
||||
} VP9DSPContext;
|
||||
|
||||
void ff_vp9dsp_init(VP9DSPContext *dsp);
|
||||
|
||||
void ff_vp9dsp_init_x86(VP9DSPContext *dsp);
|
||||
|
||||
#endif /* AVCODEC_VP9DSP_H */
|
@ -34,6 +34,7 @@ OBJS-$(CONFIG_VORBIS_DECODER) += x86/vorbisdsp_init.o
|
||||
OBJS-$(CONFIG_VP3DSP) += x86/vp3dsp_init.o
|
||||
OBJS-$(CONFIG_VP6_DECODER) += x86/vp6dsp_init.o
|
||||
OBJS-$(CONFIG_VP8_DECODER) += x86/vp8dsp_init.o
|
||||
OBJS-$(CONFIG_VP9_DECODER) += x86/vp9dsp_init.o
|
||||
OBJS-$(CONFIG_WEBP_DECODER) += x86/vp8dsp_init.o
|
||||
OBJS-$(CONFIG_XMM_CLOBBER_TEST) += x86/w64xmmtest.o
|
||||
|
||||
@ -98,4 +99,5 @@ YASM-OBJS-$(CONFIG_VORBIS_DECODER) += x86/vorbisdsp.o
|
||||
YASM-OBJS-$(CONFIG_VP3DSP) += x86/vp3dsp.o
|
||||
YASM-OBJS-$(CONFIG_VP6_DECODER) += x86/vp6dsp.o
|
||||
YASM-OBJS-$(CONFIG_VP8_DECODER) += x86/vp8dsp.o
|
||||
YASM-OBJS-$(CONFIG_VP9_DECODER) += x86/vp9dsp.o
|
||||
YASM-OBJS-$(CONFIG_WEBP_DECODER) += x86/vp8dsp.o
|
||||
|
278
libavcodec/x86/vp9dsp.asm
Normal file
278
libavcodec/x86/vp9dsp.asm
Normal file
@ -0,0 +1,278 @@
|
||||
;******************************************************************************
|
||||
;* VP9 SIMD optimizations
|
||||
;*
|
||||
;* Copyright (c) 2013 Ronald S. Bultje <rsbultje gmail com>
|
||||
;*
|
||||
;* This file is part of FFmpeg.
|
||||
;*
|
||||
;* 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.
|
||||
;*
|
||||
;* 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 FFmpeg; if not, write to the Free Software
|
||||
;* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
;******************************************************************************
|
||||
|
||||
%include "libavutil/x86/x86util.asm"
|
||||
|
||||
SECTION_RODATA
|
||||
|
||||
; FIXME share with vp8dsp.asm
|
||||
pw_256: times 8 dw 256
|
||||
|
||||
%macro F8_TAPS 8
|
||||
times 8 db %1, %2
|
||||
times 8 db %3, %4
|
||||
times 8 db %5, %6
|
||||
times 8 db %7, %8
|
||||
%endmacro
|
||||
; int8_t ff_filters_ssse3[3][15][4][16]
|
||||
const filters_ssse3 ; smooth
|
||||
F8_TAPS -3, -1, 32, 64, 38, 1, -3, 0
|
||||
F8_TAPS -2, -2, 29, 63, 41, 2, -3, 0
|
||||
F8_TAPS -2, -2, 26, 63, 43, 4, -4, 0
|
||||
F8_TAPS -2, -3, 24, 62, 46, 5, -4, 0
|
||||
F8_TAPS -2, -3, 21, 60, 49, 7, -4, 0
|
||||
F8_TAPS -1, -4, 18, 59, 51, 9, -4, 0
|
||||
F8_TAPS -1, -4, 16, 57, 53, 12, -4, -1
|
||||
F8_TAPS -1, -4, 14, 55, 55, 14, -4, -1
|
||||
F8_TAPS -1, -4, 12, 53, 57, 16, -4, -1
|
||||
F8_TAPS 0, -4, 9, 51, 59, 18, -4, -1
|
||||
F8_TAPS 0, -4, 7, 49, 60, 21, -3, -2
|
||||
F8_TAPS 0, -4, 5, 46, 62, 24, -3, -2
|
||||
F8_TAPS 0, -4, 4, 43, 63, 26, -2, -2
|
||||
F8_TAPS 0, -3, 2, 41, 63, 29, -2, -2
|
||||
F8_TAPS 0, -3, 1, 38, 64, 32, -1, -3
|
||||
; regular
|
||||
F8_TAPS 0, 1, -5, 126, 8, -3, 1, 0
|
||||
F8_TAPS -1, 3, -10, 122, 18, -6, 2, 0
|
||||
F8_TAPS -1, 4, -13, 118, 27, -9, 3, -1
|
||||
F8_TAPS -1, 4, -16, 112, 37, -11, 4, -1
|
||||
F8_TAPS -1, 5, -18, 105, 48, -14, 4, -1
|
||||
F8_TAPS -1, 5, -19, 97, 58, -16, 5, -1
|
||||
F8_TAPS -1, 6, -19, 88, 68, -18, 5, -1
|
||||
F8_TAPS -1, 6, -19, 78, 78, -19, 6, -1
|
||||
F8_TAPS -1, 5, -18, 68, 88, -19, 6, -1
|
||||
F8_TAPS -1, 5, -16, 58, 97, -19, 5, -1
|
||||
F8_TAPS -1, 4, -14, 48, 105, -18, 5, -1
|
||||
F8_TAPS -1, 4, -11, 37, 112, -16, 4, -1
|
||||
F8_TAPS -1, 3, -9, 27, 118, -13, 4, -1
|
||||
F8_TAPS 0, 2, -6, 18, 122, -10, 3, -1
|
||||
F8_TAPS 0, 1, -3, 8, 126, -5, 1, 0
|
||||
; sharp
|
||||
F8_TAPS -1, 3, -7, 127, 8, -3, 1, 0
|
||||
F8_TAPS -2, 5, -13, 125, 17, -6, 3, -1
|
||||
F8_TAPS -3, 7, -17, 121, 27, -10, 5, -2
|
||||
F8_TAPS -4, 9, -20, 115, 37, -13, 6, -2
|
||||
F8_TAPS -4, 10, -23, 108, 48, -16, 8, -3
|
||||
F8_TAPS -4, 10, -24, 100, 59, -19, 9, -3
|
||||
F8_TAPS -4, 11, -24, 90, 70, -21, 10, -4
|
||||
F8_TAPS -4, 11, -23, 80, 80, -23, 11, -4
|
||||
F8_TAPS -4, 10, -21, 70, 90, -24, 11, -4
|
||||
F8_TAPS -3, 9, -19, 59, 100, -24, 10, -4
|
||||
F8_TAPS -3, 8, -16, 48, 108, -23, 10, -4
|
||||
F8_TAPS -2, 6, -13, 37, 115, -20, 9, -4
|
||||
F8_TAPS -2, 5, -10, 27, 121, -17, 7, -3
|
||||
F8_TAPS -1, 3, -6, 17, 125, -13, 5, -2
|
||||
F8_TAPS 0, 1, -3, 8, 127, -7, 3, -1
|
||||
|
||||
SECTION .text
|
||||
|
||||
%macro filter_h_fn 1
|
||||
%assign %%px mmsize/2
|
||||
cglobal %1_8tap_1d_h_%%px, 6, 6, 11, dst, dstride, src, sstride, h, filtery
|
||||
mova m6, [pw_256]
|
||||
mova m7, [filteryq+ 0]
|
||||
%if ARCH_X86_64 && mmsize > 8
|
||||
mova m8, [filteryq+16]
|
||||
mova m9, [filteryq+32]
|
||||
mova m10, [filteryq+48]
|
||||
%endif
|
||||
.loop:
|
||||
movh m0, [srcq-3]
|
||||
movh m1, [srcq-2]
|
||||
movh m2, [srcq-1]
|
||||
movh m3, [srcq+0]
|
||||
movh m4, [srcq+1]
|
||||
movh m5, [srcq+2]
|
||||
punpcklbw m0, m1
|
||||
punpcklbw m2, m3
|
||||
movh m1, [srcq+3]
|
||||
movh m3, [srcq+4]
|
||||
add srcq, sstrideq
|
||||
punpcklbw m4, m5
|
||||
punpcklbw m1, m3
|
||||
pmaddubsw m0, m7
|
||||
%if ARCH_X86_64 && mmsize > 8
|
||||
pmaddubsw m2, m8
|
||||
pmaddubsw m4, m9
|
||||
pmaddubsw m1, m10
|
||||
%else
|
||||
pmaddubsw m2, [filteryq+16]
|
||||
pmaddubsw m4, [filteryq+32]
|
||||
pmaddubsw m1, [filteryq+48]
|
||||
%endif
|
||||
paddw m0, m2
|
||||
paddw m4, m1
|
||||
paddsw m0, m4
|
||||
pmulhrsw m0, m6
|
||||
%ifidn %1, avg
|
||||
movh m1, [dstq]
|
||||
%endif
|
||||
packuswb m0, m0
|
||||
%ifidn %1, avg
|
||||
pavgb m0, m1
|
||||
%endif
|
||||
movh [dstq], m0
|
||||
add dstq, dstrideq
|
||||
dec hd
|
||||
jg .loop
|
||||
RET
|
||||
%endmacro
|
||||
|
||||
INIT_MMX ssse3
|
||||
filter_h_fn put
|
||||
filter_h_fn avg
|
||||
|
||||
INIT_XMM ssse3
|
||||
filter_h_fn put
|
||||
filter_h_fn avg
|
||||
|
||||
%macro filter_v_fn 1
|
||||
%assign %%px mmsize/2
|
||||
%if ARCH_X86_64
|
||||
cglobal %1_8tap_1d_v_%%px, 6, 8, 11, dst, dstride, src, sstride, h, filtery, src4, sstride3
|
||||
%else
|
||||
cglobal %1_8tap_1d_v_%%px, 4, 7, 11, dst, dstride, src, sstride, filtery, src4, sstride3
|
||||
mov filteryq, r5mp
|
||||
%define hd r4mp
|
||||
%endif
|
||||
sub srcq, sstrideq
|
||||
lea sstride3q, [sstrideq*3]
|
||||
sub srcq, sstrideq
|
||||
mova m6, [pw_256]
|
||||
sub srcq, sstrideq
|
||||
mova m7, [filteryq+ 0]
|
||||
lea src4q, [srcq+sstrideq*4]
|
||||
%if ARCH_X86_64 && mmsize > 8
|
||||
mova m8, [filteryq+16]
|
||||
mova m9, [filteryq+32]
|
||||
mova m10, [filteryq+48]
|
||||
%endif
|
||||
.loop:
|
||||
; FIXME maybe reuse loads from previous rows, or just
|
||||
; more generally unroll this to prevent multiple loads of
|
||||
; the same data?
|
||||
movh m0, [srcq]
|
||||
movh m1, [srcq+sstrideq]
|
||||
movh m2, [srcq+sstrideq*2]
|
||||
movh m3, [srcq+sstride3q]
|
||||
movh m4, [src4q]
|
||||
movh m5, [src4q+sstrideq]
|
||||
punpcklbw m0, m1
|
||||
punpcklbw m2, m3
|
||||
movh m1, [src4q+sstrideq*2]
|
||||
movh m3, [src4q+sstride3q]
|
||||
add srcq, sstrideq
|
||||
add src4q, sstrideq
|
||||
punpcklbw m4, m5
|
||||
punpcklbw m1, m3
|
||||
pmaddubsw m0, m7
|
||||
%if ARCH_X86_64 && mmsize > 8
|
||||
pmaddubsw m2, m8
|
||||
pmaddubsw m4, m9
|
||||
pmaddubsw m1, m10
|
||||
%else
|
||||
pmaddubsw m2, [filteryq+16]
|
||||
pmaddubsw m4, [filteryq+32]
|
||||
pmaddubsw m1, [filteryq+48]
|
||||
%endif
|
||||
paddw m0, m2
|
||||
paddw m4, m1
|
||||
paddsw m0, m4
|
||||
pmulhrsw m0, m6
|
||||
%ifidn %1, avg
|
||||
movh m1, [dstq]
|
||||
%endif
|
||||
packuswb m0, m0
|
||||
%ifidn %1, avg
|
||||
pavgb m0, m1
|
||||
%endif
|
||||
movh [dstq], m0
|
||||
add dstq, dstrideq
|
||||
dec hd
|
||||
jg .loop
|
||||
RET
|
||||
%endmacro
|
||||
|
||||
INIT_MMX ssse3
|
||||
filter_v_fn put
|
||||
filter_v_fn avg
|
||||
|
||||
INIT_XMM ssse3
|
||||
filter_v_fn put
|
||||
filter_v_fn avg
|
||||
|
||||
%macro fpel_fn 6
|
||||
%if %2 == 4
|
||||
%define %%srcfn movh
|
||||
%define %%dstfn movh
|
||||
%else
|
||||
%define %%srcfn movu
|
||||
%define %%dstfn mova
|
||||
%endif
|
||||
|
||||
%if %2 <= 16
|
||||
cglobal %1%2, 5, 7, 4, dst, dstride, src, sstride, h, dstride3, sstride3
|
||||
lea sstride3q, [sstrideq*3]
|
||||
lea dstride3q, [dstrideq*3]
|
||||
%else
|
||||
cglobal %1%2, 5, 5, 4, dst, dstride, src, sstride, h
|
||||
%endif
|
||||
.loop:
|
||||
%%srcfn m0, [srcq]
|
||||
%%srcfn m1, [srcq+s%3]
|
||||
%%srcfn m2, [srcq+s%4]
|
||||
%%srcfn m3, [srcq+s%5]
|
||||
lea srcq, [srcq+sstrideq*%6]
|
||||
%ifidn %1, avg
|
||||
pavgb m0, [dstq]
|
||||
pavgb m1, [dstq+d%3]
|
||||
pavgb m2, [dstq+d%4]
|
||||
pavgb m3, [dstq+d%5]
|
||||
%endif
|
||||
%%dstfn [dstq], m0
|
||||
%%dstfn [dstq+d%3], m1
|
||||
%%dstfn [dstq+d%4], m2
|
||||
%%dstfn [dstq+d%5], m3
|
||||
lea dstq, [dstq+dstrideq*%6]
|
||||
sub hd, %6
|
||||
jnz .loop
|
||||
RET
|
||||
%endmacro
|
||||
|
||||
%define d16 16
|
||||
%define s16 16
|
||||
INIT_MMX mmx
|
||||
fpel_fn put, 4, strideq, strideq*2, stride3q, 4
|
||||
fpel_fn put, 8, strideq, strideq*2, stride3q, 4
|
||||
INIT_MMX sse
|
||||
fpel_fn avg, 4, strideq, strideq*2, stride3q, 4
|
||||
fpel_fn avg, 8, strideq, strideq*2, stride3q, 4
|
||||
INIT_XMM sse
|
||||
fpel_fn put, 16, strideq, strideq*2, stride3q, 4
|
||||
fpel_fn put, 32, mmsize, strideq, strideq+mmsize, 2
|
||||
fpel_fn put, 64, mmsize, mmsize*2, mmsize*3, 1
|
||||
INIT_XMM sse2
|
||||
fpel_fn avg, 16, strideq, strideq*2, stride3q, 4
|
||||
fpel_fn avg, 32, mmsize, strideq, strideq+mmsize, 2
|
||||
fpel_fn avg, 64, mmsize, mmsize*2, mmsize*3, 1
|
||||
%undef s16
|
||||
%undef d16
|
214
libavcodec/x86/vp9dsp_init.c
Normal file
214
libavcodec/x86/vp9dsp_init.c
Normal file
@ -0,0 +1,214 @@
|
||||
/*
|
||||
* VP9 SIMD optimizations
|
||||
*
|
||||
* Copyright (c) 2013 Ronald S. Bultje <rsbultje gmail com>
|
||||
*
|
||||
* This file is part of FFmpeg.
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* 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 FFmpeg; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
#include "libavutil/cpu.h"
|
||||
#include "libavutil/mem.h"
|
||||
#include "libavutil/x86/asm.h"
|
||||
#include "libavcodec/vp9dsp.h"
|
||||
|
||||
#if HAVE_YASM
|
||||
|
||||
#define fpel_func(avg, sz, opt) \
|
||||
void ff_##avg##sz##_##opt(uint8_t *dst, ptrdiff_t dst_stride, \
|
||||
const uint8_t *src, ptrdiff_t src_stride, \
|
||||
int h, int mx, int my)
|
||||
fpel_func(put, 4, mmx);
|
||||
fpel_func(put, 8, mmx);
|
||||
fpel_func(put, 16, sse);
|
||||
fpel_func(put, 32, sse);
|
||||
fpel_func(put, 64, sse);
|
||||
fpel_func(avg, 4, sse);
|
||||
fpel_func(avg, 8, sse);
|
||||
fpel_func(avg, 16, sse2);
|
||||
fpel_func(avg, 32, sse2);
|
||||
fpel_func(avg, 64, sse2);
|
||||
#undef fpel_func
|
||||
|
||||
#define mc_func(avg, sz, dir, opt) \
|
||||
void ff_##avg##_8tap_1d_##dir##_##sz##_##opt(uint8_t *dst, ptrdiff_t dst_stride, \
|
||||
const uint8_t *src, ptrdiff_t src_stride, \
|
||||
int h, const int8_t (*filter)[16])
|
||||
#define mc_funcs(sz) \
|
||||
mc_func(put, sz, h, ssse3); \
|
||||
mc_func(avg, sz, h, ssse3); \
|
||||
mc_func(put, sz, v, ssse3); \
|
||||
mc_func(avg, sz, v, ssse3)
|
||||
|
||||
mc_funcs(4);
|
||||
mc_funcs(8);
|
||||
|
||||
#undef mc_funcs
|
||||
#undef mc_func
|
||||
|
||||
#define mc_rep_func(avg, sz, hsz, dir, opt) \
|
||||
static av_always_inline void \
|
||||
ff_##avg##_8tap_1d_##dir##_##sz##_##opt(uint8_t *dst, ptrdiff_t dst_stride, \
|
||||
const uint8_t *src, ptrdiff_t src_stride, \
|
||||
int h, const int8_t (*filter)[16]) \
|
||||
{ \
|
||||
ff_##avg##_8tap_1d_##dir##_##hsz##_##opt(dst, dst_stride, src, \
|
||||
src_stride, h, filter); \
|
||||
ff_##avg##_8tap_1d_##dir##_##hsz##_##opt(dst + hsz, dst_stride, src + hsz, \
|
||||
src_stride, h, filter); \
|
||||
}
|
||||
|
||||
#define mc_rep_funcs(sz, hsz) \
|
||||
mc_rep_func(put, sz, hsz, h, ssse3); \
|
||||
mc_rep_func(avg, sz, hsz, h, ssse3); \
|
||||
mc_rep_func(put, sz, hsz, v, ssse3); \
|
||||
mc_rep_func(avg, sz, hsz, v, ssse3)
|
||||
|
||||
mc_rep_funcs(16, 8);
|
||||
mc_rep_funcs(32, 16);
|
||||
mc_rep_funcs(64, 32);
|
||||
|
||||
#undef mc_rep_funcs
|
||||
#undef mc_rep_func
|
||||
|
||||
extern const int8_t ff_filters_ssse3[3][15][4][16];
|
||||
|
||||
#define filter_8tap_2d_fn(op, sz, f, fname) \
|
||||
static void op##_8tap_##fname##_##sz##hv_ssse3(uint8_t *dst, ptrdiff_t dst_stride, \
|
||||
const uint8_t *src, ptrdiff_t src_stride, \
|
||||
int h, int mx, int my) \
|
||||
{ \
|
||||
LOCAL_ALIGNED_16(uint8_t, temp, [71 * 64]); \
|
||||
ff_put_8tap_1d_h_##sz##_ssse3(temp, 64, src - 3 * src_stride, src_stride, \
|
||||
h + 7, ff_filters_ssse3[f][mx - 1]); \
|
||||
ff_##op##_8tap_1d_v_##sz##_ssse3(dst, dst_stride, temp + 3 * 64, 64, \
|
||||
h, ff_filters_ssse3[f][my - 1]); \
|
||||
}
|
||||
|
||||
#define filters_8tap_2d_fn(op, sz) \
|
||||
filter_8tap_2d_fn(op, sz, FILTER_8TAP_REGULAR, regular) \
|
||||
filter_8tap_2d_fn(op, sz, FILTER_8TAP_SHARP, sharp) \
|
||||
filter_8tap_2d_fn(op, sz, FILTER_8TAP_SMOOTH, smooth)
|
||||
|
||||
#define filters_8tap_2d_fn2(op) \
|
||||
filters_8tap_2d_fn(op, 64) \
|
||||
filters_8tap_2d_fn(op, 32) \
|
||||
filters_8tap_2d_fn(op, 16) \
|
||||
filters_8tap_2d_fn(op, 8) \
|
||||
filters_8tap_2d_fn(op, 4)
|
||||
|
||||
filters_8tap_2d_fn2(put)
|
||||
filters_8tap_2d_fn2(avg)
|
||||
|
||||
#undef filters_8tap_2d_fn2
|
||||
#undef filters_8tap_2d_fn
|
||||
#undef filter_8tap_2d_fn
|
||||
|
||||
#define filter_8tap_1d_fn(op, sz, f, fname, dir, dvar) \
|
||||
static void op##_8tap_##fname##_##sz##dir##_ssse3(uint8_t *dst, ptrdiff_t dst_stride, \
|
||||
const uint8_t *src, ptrdiff_t src_stride, \
|
||||
int h, int mx, int my) \
|
||||
{ \
|
||||
ff_##op##_8tap_1d_##dir##_##sz##_ssse3(dst, dst_stride, src, src_stride, \
|
||||
h, ff_filters_ssse3[f][dvar - 1]); \
|
||||
}
|
||||
|
||||
#define filters_8tap_1d_fn(op, sz, dir, dvar) \
|
||||
filter_8tap_1d_fn(op, sz, FILTER_8TAP_REGULAR, regular, dir, dvar) \
|
||||
filter_8tap_1d_fn(op, sz, FILTER_8TAP_SHARP, sharp, dir, dvar) \
|
||||
filter_8tap_1d_fn(op, sz, FILTER_8TAP_SMOOTH, smooth, dir, dvar)
|
||||
|
||||
#define filters_8tap_1d_fn2(op, sz) \
|
||||
filters_8tap_1d_fn(op, sz, h, mx) \
|
||||
filters_8tap_1d_fn(op, sz, v, my)
|
||||
|
||||
#define filters_8tap_1d_fn3(op) \
|
||||
filters_8tap_1d_fn2(op, 64) \
|
||||
filters_8tap_1d_fn2(op, 32) \
|
||||
filters_8tap_1d_fn2(op, 16) \
|
||||
filters_8tap_1d_fn2(op, 8) \
|
||||
filters_8tap_1d_fn2(op, 4)
|
||||
|
||||
filters_8tap_1d_fn3(put)
|
||||
filters_8tap_1d_fn3(avg)
|
||||
|
||||
#undef filters_8tap_1d_fn
|
||||
#undef filters_8tap_1d_fn2
|
||||
#undef filters_8tap_1d_fn3
|
||||
#undef filter_8tap_1d_fn
|
||||
|
||||
#endif /* HAVE_YASM */
|
||||
|
||||
av_cold void ff_vp9dsp_init_x86(VP9DSPContext *dsp)
|
||||
{
|
||||
#if HAVE_YASM
|
||||
int cpu_flags = av_get_cpu_flags();
|
||||
|
||||
#define init_fpel(idx1, idx2, sz, type, opt) \
|
||||
dsp->mc[idx1][FILTER_8TAP_SMOOTH ][idx2][0][0] = \
|
||||
dsp->mc[idx1][FILTER_8TAP_REGULAR][idx2][0][0] = \
|
||||
dsp->mc[idx1][FILTER_8TAP_SHARP ][idx2][0][0] = \
|
||||
dsp->mc[idx1][FILTER_BILINEAR ][idx2][0][0] = ff_##type##sz##_##opt
|
||||
|
||||
|
||||
#define init_subpel1(idx1, idx2, idxh, idxv, sz, dir, type, opt) \
|
||||
dsp->mc[idx1][FILTER_8TAP_SMOOTH ][idx2][idxh][idxv] = type##_8tap_smooth_##sz##dir##_##opt; \
|
||||
dsp->mc[idx1][FILTER_8TAP_REGULAR][idx2][idxh][idxv] = type##_8tap_regular_##sz##dir##_##opt; \
|
||||
dsp->mc[idx1][FILTER_8TAP_SHARP ][idx2][idxh][idxv] = type##_8tap_sharp_##sz##dir##_##opt
|
||||
|
||||
#define init_subpel2(idx, idxh, idxv, dir, type, opt) \
|
||||
init_subpel1(0, idx, idxh, idxv, 64, dir, type, opt); \
|
||||
init_subpel1(1, idx, idxh, idxv, 32, dir, type, opt); \
|
||||
init_subpel1(2, idx, idxh, idxv, 16, dir, type, opt); \
|
||||
init_subpel1(3, idx, idxh, idxv, 8, dir, type, opt); \
|
||||
init_subpel1(4, idx, idxh, idxv, 4, dir, type, opt)
|
||||
|
||||
#define init_subpel3(idx, type, opt) \
|
||||
init_subpel2(idx, 1, 1, hv, type, opt); \
|
||||
init_subpel2(idx, 0, 1, v, type, opt); \
|
||||
init_subpel2(idx, 1, 0, h, type, opt)
|
||||
|
||||
if (cpu_flags & AV_CPU_FLAG_MMX) {
|
||||
init_fpel(4, 0, 4, put, mmx);
|
||||
init_fpel(3, 0, 8, put, mmx);
|
||||
}
|
||||
|
||||
if (cpu_flags & AV_CPU_FLAG_SSE) {
|
||||
init_fpel(2, 0, 16, put, sse);
|
||||
init_fpel(1, 0, 32, put, sse);
|
||||
init_fpel(0, 0, 64, put, sse);
|
||||
init_fpel(4, 1, 4, avg, sse);
|
||||
init_fpel(3, 1, 8, avg, sse);
|
||||
}
|
||||
|
||||
if (cpu_flags & AV_CPU_FLAG_SSE2) {
|
||||
init_fpel(2, 1, 16, avg, sse2);
|
||||
init_fpel(1, 1, 32, avg, sse2);
|
||||
init_fpel(0, 1, 64, avg, sse2);
|
||||
}
|
||||
|
||||
if (cpu_flags & AV_CPU_FLAG_SSSE3) {
|
||||
init_subpel3(0, put, ssse3);
|
||||
init_subpel3(1, avg, ssse3);
|
||||
}
|
||||
|
||||
#undef init_fpel
|
||||
#undef init_subpel1
|
||||
#undef init_subpel2
|
||||
#undef init_subpel3
|
||||
|
||||
#endif /* HAVE_YASM */
|
||||
}
|
@ -700,7 +700,7 @@ DECLARE_ARG 7, 8, 9, 10, 11, 12, 13, 14
|
||||
extern %1
|
||||
%endmacro
|
||||
|
||||
%macro const 2+
|
||||
%macro const 1-2+
|
||||
%xdefine %1 mangle(private_prefix %+ _ %+ %1)
|
||||
global %1
|
||||
%1: %2
|
||||
|
@ -57,3 +57,33 @@ $(eval $(call FATE_VP8_FULL))
|
||||
$(eval $(call FATE_VP8_FULL,-emu-edge,-flags +emu_edge))
|
||||
FATE_SAMPLES_AVCONV-$(CONFIG_VP8_DECODER) += $(FATE_VP8-yes)
|
||||
fate-vp8: $(FATE_VP8-yes)
|
||||
|
||||
define FATE_VP9_SUITE
|
||||
FATE_VP9-$(CONFIG_MATROSKA_DEMUXER) += fate-vp9$(2)-$(1)
|
||||
fate-vp9$(2)-$(1): CMD = framemd5 $(3) -i $(TARGET_SAMPLES)/vp9-test-vectors/vp90-2-$(1).webm
|
||||
fate-vp9$(2)-$(1): REF = $(SRC_PATH)/tests/ref/fate/vp9-$(1)
|
||||
endef
|
||||
|
||||
VP9_Q = 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 \
|
||||
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 \
|
||||
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 \
|
||||
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
|
||||
VP9_SHARP = 1 2 3 4 5 6 7
|
||||
VP9_SIZE_A = 08 10 16 18 32 34 64 66
|
||||
VP9_SIZE_B = 196 198 200 202 208 210 224 226
|
||||
|
||||
define FATE_VP9_FULL
|
||||
$(foreach Q,$(VP9_Q),$(eval $(call FATE_VP9_SUITE,00-quantizer-$(Q),$(1),$(2))))
|
||||
$(foreach SHARP,$(VP9_SHARP),$(eval $(call FATE_VP9_SUITE,01-sharpness-$(SHARP),$(1),$(2))))
|
||||
$(foreach W,$(VP9_SIZE_A),$(eval $(foreach H,$(VP9_SIZE_A),$(eval $(call FATE_VP9_SUITE,02-size-$(W)x$(H),$(1),$(2))))))
|
||||
$(foreach W,$(VP9_SIZE_B),$(eval $(foreach H,$(VP9_SIZE_B),$(eval $(call FATE_VP9_SUITE,03-size-$(W)x$(H),$(1),$(2))))))
|
||||
$(eval $(call FATE_VP9_SUITE,03-deltaq,$(1),$(2)))
|
||||
$(eval $(call FATE_VP9_SUITE,2pass-akiyo,$(1),$(2)))
|
||||
$(eval $(call FATE_VP9_SUITE,segmentation-akiyo,$(1),$(2)))
|
||||
$(eval $(call FATE_VP9_SUITE,tiling-pedestrian,$(1),$(2)))
|
||||
endef
|
||||
|
||||
$(eval $(call FATE_VP9_FULL))
|
||||
$(eval $(call FATE_VP9_FULL,-emu-edge,-flags +emu_edge))
|
||||
FATE_SAMPLES_AVCONV-$(CONFIG_VP9_DECODER) += $(FATE_VP9-yes)
|
||||
fate-vp9: $(FATE_VP9-yes)
|
||||
|
3
tests/ref/fate/vp9-00-quantizer-00
Normal file
3
tests/ref/fate/vp9-00-quantizer-00
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, c3fbb7abbdb5bd4ed4a7e34768c17df1
|
||||
0, 1, 1, 1, 152064, 08203c2595bdb2d58ead6f921345d699
|
3
tests/ref/fate/vp9-00-quantizer-01
Normal file
3
tests/ref/fate/vp9-00-quantizer-01
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, f041b870cf9236d5f22e2b08a77d5958
|
||||
0, 1, 1, 1, 152064, cbdb7526986ae15592891488c9afc84c
|
3
tests/ref/fate/vp9-00-quantizer-02
Normal file
3
tests/ref/fate/vp9-00-quantizer-02
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, 98048cfdb4af5059f4085c5acc94ef8f
|
||||
0, 1, 1, 1, 152064, 8160183e1eed1d0af4427be216b8b9f7
|
3
tests/ref/fate/vp9-00-quantizer-03
Normal file
3
tests/ref/fate/vp9-00-quantizer-03
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, 15c548208f5eda243a151a42f4d64855
|
||||
0, 1, 1, 1, 152064, e96d463dc8e9b27b1c2ec40f77eee6ef
|
3
tests/ref/fate/vp9-00-quantizer-04
Normal file
3
tests/ref/fate/vp9-00-quantizer-04
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, 928c64a0747ac57ab50c1520d694fea7
|
||||
0, 1, 1, 1, 152064, a6f6daa293231e95ef30ed168f582c84
|
3
tests/ref/fate/vp9-00-quantizer-05
Normal file
3
tests/ref/fate/vp9-00-quantizer-05
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, 082460718b7d7046c8fb23184b7f71ca
|
||||
0, 1, 1, 1, 152064, 4a41aad51c40a92df72333e13f47d3fe
|
3
tests/ref/fate/vp9-00-quantizer-06
Normal file
3
tests/ref/fate/vp9-00-quantizer-06
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, cfca1bed96ff62a69b2d841fda01c6b9
|
||||
0, 1, 1, 1, 152064, 9b4d61f1b998745c108f8eb67925e03d
|
3
tests/ref/fate/vp9-00-quantizer-07
Normal file
3
tests/ref/fate/vp9-00-quantizer-07
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, 6f5122064bead9d9882bec2698a6ed9c
|
||||
0, 1, 1, 1, 152064, 50dae67d2f57a76eece210dee8b6df9e
|
3
tests/ref/fate/vp9-00-quantizer-08
Normal file
3
tests/ref/fate/vp9-00-quantizer-08
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, eb3d6985fcda5d93dd62d53354e8a093
|
||||
0, 1, 1, 1, 152064, 5b1f5b7780b4cafe1f75e56a0b526643
|
3
tests/ref/fate/vp9-00-quantizer-09
Normal file
3
tests/ref/fate/vp9-00-quantizer-09
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, d7ccaf28c59875fe91983def5490d2b1
|
||||
0, 1, 1, 1, 152064, bd98fe9492054826748de840b4495309
|
3
tests/ref/fate/vp9-00-quantizer-10
Normal file
3
tests/ref/fate/vp9-00-quantizer-10
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, 20dda6231f9801c9c237c6d09d9939b6
|
||||
0, 1, 1, 1, 152064, 23c91e93807fb9a4ed5bd5bdd449d99f
|
3
tests/ref/fate/vp9-00-quantizer-11
Normal file
3
tests/ref/fate/vp9-00-quantizer-11
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, 960833315ebcdee97f46c4d98d0f3fef
|
||||
0, 1, 1, 1, 152064, eec40507d17b64b7895a61cb87b2096a
|
3
tests/ref/fate/vp9-00-quantizer-12
Normal file
3
tests/ref/fate/vp9-00-quantizer-12
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, 6533224d3b6ba1ec0dd973bbe56c6349
|
||||
0, 1, 1, 1, 152064, 12ceadc6d28327a24a75f8c40b6084d1
|
3
tests/ref/fate/vp9-00-quantizer-13
Normal file
3
tests/ref/fate/vp9-00-quantizer-13
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, 7268de6756014f79a56dcf010c52a97f
|
||||
0, 1, 1, 1, 152064, 9e39e9b0e2295b8460dfa05f44762771
|
3
tests/ref/fate/vp9-00-quantizer-14
Normal file
3
tests/ref/fate/vp9-00-quantizer-14
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, 57e9e333c641fa952f7485b788df225a
|
||||
0, 1, 1, 1, 152064, 551f0cea83dcdf4540c3983736757874
|
3
tests/ref/fate/vp9-00-quantizer-15
Normal file
3
tests/ref/fate/vp9-00-quantizer-15
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, 17a0a2842856b9e89aede237648d5dda
|
||||
0, 1, 1, 1, 152064, c9fcade888a38621bebe3d4b41664245
|
3
tests/ref/fate/vp9-00-quantizer-16
Normal file
3
tests/ref/fate/vp9-00-quantizer-16
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, 6cc2089e9a3d352fe10b59ccd935c677
|
||||
0, 1, 1, 1, 152064, d165bf7b9cb901e121a65038758d8613
|
3
tests/ref/fate/vp9-00-quantizer-17
Normal file
3
tests/ref/fate/vp9-00-quantizer-17
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, bc80511c83162c09661f155cd29f6dd8
|
||||
0, 1, 1, 1, 152064, a62f1cbdb3f86d2fb4c880cfd917def5
|
3
tests/ref/fate/vp9-00-quantizer-18
Normal file
3
tests/ref/fate/vp9-00-quantizer-18
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, b2d350f6faa41cb50c2e8a9907d0f4a5
|
||||
0, 1, 1, 1, 152064, 39b4380d16bc8e093dd4dba475175fb3
|
3
tests/ref/fate/vp9-00-quantizer-19
Normal file
3
tests/ref/fate/vp9-00-quantizer-19
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, 441e09be3c15fcb240afd74bb7a10a72
|
||||
0, 1, 1, 1, 152064, 32ae5dac876ca5d5ae6ab7c74f4dc25d
|
3
tests/ref/fate/vp9-00-quantizer-20
Normal file
3
tests/ref/fate/vp9-00-quantizer-20
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, 7786eb9944dba0553e129133523a98c1
|
||||
0, 1, 1, 1, 152064, 206d888f8453427f10a40aa8bf5f6df0
|
3
tests/ref/fate/vp9-00-quantizer-21
Normal file
3
tests/ref/fate/vp9-00-quantizer-21
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, aab95e195be71feca050a839d7b3154d
|
||||
0, 1, 1, 1, 152064, 02a05d699bbbdc477e34bb0dad9f0391
|
3
tests/ref/fate/vp9-00-quantizer-22
Normal file
3
tests/ref/fate/vp9-00-quantizer-22
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, 41f853c3ee2d4611b645cc643d82e287
|
||||
0, 1, 1, 1, 152064, 1c240c653110ff8609ca0f0287a6496d
|
3
tests/ref/fate/vp9-00-quantizer-23
Normal file
3
tests/ref/fate/vp9-00-quantizer-23
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, bc5b07369df50c8f97ce1a377fe513cf
|
||||
0, 1, 1, 1, 152064, ce62ddb4f3e305d0f8587ae8bb44cc79
|
3
tests/ref/fate/vp9-00-quantizer-24
Normal file
3
tests/ref/fate/vp9-00-quantizer-24
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, 982d54041221c977b6f0e37a9236cc76
|
||||
0, 1, 1, 1, 152064, 57631e7f13f645c834e2944ebfd6d40e
|
3
tests/ref/fate/vp9-00-quantizer-25
Normal file
3
tests/ref/fate/vp9-00-quantizer-25
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, b0fb55f3f2f56b3d27038e83c10123ce
|
||||
0, 1, 1, 1, 152064, 9fcac3becdcc2d30d778a55eca4c2018
|
3
tests/ref/fate/vp9-00-quantizer-26
Normal file
3
tests/ref/fate/vp9-00-quantizer-26
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, 4f645e0f354da77b9e2f2a6753c361da
|
||||
0, 1, 1, 1, 152064, b7542998ec298273ca662bc9b658d10e
|
3
tests/ref/fate/vp9-00-quantizer-27
Normal file
3
tests/ref/fate/vp9-00-quantizer-27
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, 6edc96a3747cad43828397045764206e
|
||||
0, 1, 1, 1, 152064, 5fbc65d20fdca1abd69079851ce676d3
|
3
tests/ref/fate/vp9-00-quantizer-28
Normal file
3
tests/ref/fate/vp9-00-quantizer-28
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, 5db3e910e70da38bb91d01d73acc33dd
|
||||
0, 1, 1, 1, 152064, b920ee7f7e61b7fdf9f44b1f738d0292
|
3
tests/ref/fate/vp9-00-quantizer-29
Normal file
3
tests/ref/fate/vp9-00-quantizer-29
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, 3cb3e310be5305077efa6216f6f10654
|
||||
0, 1, 1, 1, 152064, 692d3e098af5978fe1a898ebc1a66a7a
|
3
tests/ref/fate/vp9-00-quantizer-30
Normal file
3
tests/ref/fate/vp9-00-quantizer-30
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, e3b3cea66ea38c5dfba1aa73bb4c611d
|
||||
0, 1, 1, 1, 152064, 42bb3e54b19c3f4c4f7ee3a6ba012e19
|
3
tests/ref/fate/vp9-00-quantizer-31
Normal file
3
tests/ref/fate/vp9-00-quantizer-31
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, 2523e9ecfd3781eafcd7da192dc105e9
|
||||
0, 1, 1, 1, 152064, 6d5feea012b9a1f51fc643633e728764
|
3
tests/ref/fate/vp9-00-quantizer-32
Normal file
3
tests/ref/fate/vp9-00-quantizer-32
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, 0a0305eba36500ebf6cc6cc0f01f5a3b
|
||||
0, 1, 1, 1, 152064, 2c76bcd6763467f9057a726fbcf50ab1
|
3
tests/ref/fate/vp9-00-quantizer-33
Normal file
3
tests/ref/fate/vp9-00-quantizer-33
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, c68433e0e94047c220be9b629334f744
|
||||
0, 1, 1, 1, 152064, fcfa4dff7a39bc9c5e315849ecbb46ea
|
3
tests/ref/fate/vp9-00-quantizer-34
Normal file
3
tests/ref/fate/vp9-00-quantizer-34
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, ad9dc2f912c137b014a33e2792c88a25
|
||||
0, 1, 1, 1, 152064, 11221ee4ea5c776f43af68756682cd5a
|
3
tests/ref/fate/vp9-00-quantizer-35
Normal file
3
tests/ref/fate/vp9-00-quantizer-35
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, 75031f898cccf303a64ab46b1f815389
|
||||
0, 1, 1, 1, 152064, a4fc864e7fbc470dfcab6207e0eea152
|
3
tests/ref/fate/vp9-00-quantizer-36
Normal file
3
tests/ref/fate/vp9-00-quantizer-36
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, c7824af009fde6cafdd8d39fae6bb6cf
|
||||
0, 1, 1, 1, 152064, 516a82d5fc4dfa3daf713ed2ec36041b
|
3
tests/ref/fate/vp9-00-quantizer-37
Normal file
3
tests/ref/fate/vp9-00-quantizer-37
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, a2e5c820fd9733e18f9349fb658ca281
|
||||
0, 1, 1, 1, 152064, fb23e0bc64728a492a33d985032f21b8
|
3
tests/ref/fate/vp9-00-quantizer-38
Normal file
3
tests/ref/fate/vp9-00-quantizer-38
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, 8347bfb891317e89ef66781d6c28e24f
|
||||
0, 1, 1, 1, 152064, a5722f824d32deac042513a1a7dcdcd0
|
3
tests/ref/fate/vp9-00-quantizer-39
Normal file
3
tests/ref/fate/vp9-00-quantizer-39
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, 018968f97fac3bdff146cf22c1da5ef0
|
||||
0, 1, 1, 1, 152064, ca8b09b01e5132183395e238f1c7901e
|
3
tests/ref/fate/vp9-00-quantizer-40
Normal file
3
tests/ref/fate/vp9-00-quantizer-40
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, 792660f6589ad5340be4bd0554435866
|
||||
0, 1, 1, 1, 152064, 68c84c8a15d679e0a73678b93215c62c
|
3
tests/ref/fate/vp9-00-quantizer-41
Normal file
3
tests/ref/fate/vp9-00-quantizer-41
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, a456bdfc6c1c07b4cb3a3848843743b9
|
||||
0, 1, 1, 1, 152064, fe41a12b8cb6bc5667ba2179e076f3b0
|
3
tests/ref/fate/vp9-00-quantizer-42
Normal file
3
tests/ref/fate/vp9-00-quantizer-42
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, f016dd8431694d989700fb1ba71a5b2d
|
||||
0, 1, 1, 1, 152064, e89c3c5b935157b40f2fb0ab92415828
|
3
tests/ref/fate/vp9-00-quantizer-43
Normal file
3
tests/ref/fate/vp9-00-quantizer-43
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, 7b8ab82625f3006bac89d4fb5197e71c
|
||||
0, 1, 1, 1, 152064, 18bd3716045563dfba2c72b640b3274b
|
3
tests/ref/fate/vp9-00-quantizer-44
Normal file
3
tests/ref/fate/vp9-00-quantizer-44
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, 66fde04d8320c750e56406feefd29979
|
||||
0, 1, 1, 1, 152064, f9d01d8fc1722ec345e624e14b404215
|
3
tests/ref/fate/vp9-00-quantizer-45
Normal file
3
tests/ref/fate/vp9-00-quantizer-45
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, cc97597b015896d73f3e60e7ae44c4da
|
||||
0, 1, 1, 1, 152064, fea98bc508f92135641ab99762444b14
|
3
tests/ref/fate/vp9-00-quantizer-46
Normal file
3
tests/ref/fate/vp9-00-quantizer-46
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, 79ed95c741178bb3c0954f1f6f8e21a3
|
||||
0, 1, 1, 1, 152064, f02a06a5e2b5b7619c9a52c5bea0564d
|
3
tests/ref/fate/vp9-00-quantizer-47
Normal file
3
tests/ref/fate/vp9-00-quantizer-47
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, 9b98e948b8c2a822f21bd8419e6f4410
|
||||
0, 1, 1, 1, 152064, 491382d68c16c2a3c6f1746598bc4a97
|
3
tests/ref/fate/vp9-00-quantizer-48
Normal file
3
tests/ref/fate/vp9-00-quantizer-48
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, f0f095b0edae7262f44d7ed7ef84ded4
|
||||
0, 1, 1, 1, 152064, 0e833889ccac81d60251007d1baf6500
|
3
tests/ref/fate/vp9-00-quantizer-49
Normal file
3
tests/ref/fate/vp9-00-quantizer-49
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, 6c1b7b7827617fb9b8417aca2cfdbcaa
|
||||
0, 1, 1, 1, 152064, 4c1fc8a89297fdcf79f0faabd42b8684
|
3
tests/ref/fate/vp9-00-quantizer-50
Normal file
3
tests/ref/fate/vp9-00-quantizer-50
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, ca6142db68463487bc28c888ab38476c
|
||||
0, 1, 1, 1, 152064, 02a71153ec70f569524c3d814cb62f86
|
3
tests/ref/fate/vp9-00-quantizer-51
Normal file
3
tests/ref/fate/vp9-00-quantizer-51
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, eece2627df1ddf0872256eb92352e179
|
||||
0, 1, 1, 1, 152064, 0ee9f221246ad747250e4b5e8ba586e2
|
3
tests/ref/fate/vp9-00-quantizer-52
Normal file
3
tests/ref/fate/vp9-00-quantizer-52
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, 7290039d974c4e50db9d69f9864bcdbe
|
||||
0, 1, 1, 1, 152064, 264765de9d02503038a4da54133b9f85
|
3
tests/ref/fate/vp9-00-quantizer-53
Normal file
3
tests/ref/fate/vp9-00-quantizer-53
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, 917af24da66f143a56a01eb2c2254285
|
||||
0, 1, 1, 1, 152064, 45a05d3bc644420519619e4115662a70
|
3
tests/ref/fate/vp9-00-quantizer-54
Normal file
3
tests/ref/fate/vp9-00-quantizer-54
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, 6fea2820bb10a9dec9add4d2452b01f5
|
||||
0, 1, 1, 1, 152064, 74675169a4bfc2ff5463c4db5d85a79f
|
3
tests/ref/fate/vp9-00-quantizer-55
Normal file
3
tests/ref/fate/vp9-00-quantizer-55
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, 11e5d196f6537fb7d85988d90195e556
|
||||
0, 1, 1, 1, 152064, 8536106795f7c93c5a43a11493527469
|
3
tests/ref/fate/vp9-00-quantizer-56
Normal file
3
tests/ref/fate/vp9-00-quantizer-56
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, 40839b7a3a40ec10f96b8a75224f646d
|
||||
0, 1, 1, 1, 152064, 11408dd73e8c45ddaab99f5c9650102b
|
3
tests/ref/fate/vp9-00-quantizer-57
Normal file
3
tests/ref/fate/vp9-00-quantizer-57
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, d0e9fa03dd48da4592ebaadb4e3794e0
|
||||
0, 1, 1, 1, 152064, 5172e29b1e04cd543833d6a68aab297c
|
3
tests/ref/fate/vp9-00-quantizer-58
Normal file
3
tests/ref/fate/vp9-00-quantizer-58
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, bef4a27d460e7697e038fe6f1c8bd597
|
||||
0, 1, 1, 1, 152064, 124674686cafc5f2ff5bc7ea412b8f3b
|
3
tests/ref/fate/vp9-00-quantizer-59
Normal file
3
tests/ref/fate/vp9-00-quantizer-59
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, ae9d99e9d16ef20073300559566844ae
|
||||
0, 1, 1, 1, 152064, da9405e5a6bfe4ed18d927ba2004008e
|
3
tests/ref/fate/vp9-00-quantizer-60
Normal file
3
tests/ref/fate/vp9-00-quantizer-60
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, 9e66bb8e1b5e206ea4afe4bf2d335ac5
|
||||
0, 1, 1, 1, 152064, 092b74c905c12c1e87e90f5a79857736
|
3
tests/ref/fate/vp9-00-quantizer-61
Normal file
3
tests/ref/fate/vp9-00-quantizer-61
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, d062dc6be246c8042744018765ef50a8
|
||||
0, 1, 1, 1, 152064, 45fd9cbacb6a91060a7e49a58a85869d
|
3
tests/ref/fate/vp9-00-quantizer-62
Normal file
3
tests/ref/fate/vp9-00-quantizer-62
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, 62f7e42fe653e81c5a65a25389e045b5
|
||||
0, 1, 1, 1, 152064, cb0cdd0b25689e0a43328550011d960d
|
3
tests/ref/fate/vp9-00-quantizer-63
Normal file
3
tests/ref/fate/vp9-00-quantizer-63
Normal file
@ -0,0 +1,3 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, 8467643dceff827e04acd82eeff1d1b0
|
||||
0, 1, 1, 1, 152064, c786f49d66f4dfd685dea9605821a19f
|
11
tests/ref/fate/vp9-01-sharpness-1
Normal file
11
tests/ref/fate/vp9-01-sharpness-1
Normal file
@ -0,0 +1,11 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, a2e5c820fd9733e18f9349fb658ca281
|
||||
0, 1, 1, 1, 152064, aa20a75be3a316193496706c9f760d08
|
||||
0, 2, 2, 1, 152064, 95567be97a64d3c9efe45f2524116a2e
|
||||
0, 3, 3, 1, 152064, 219e86cd6b3cca312856eead21776b1c
|
||||
0, 4, 4, 1, 152064, 4a67fd359ca362398e97c15eb018a2bb
|
||||
0, 5, 5, 1, 152064, 9916d4e359274d690827f0eb22547423
|
||||
0, 6, 6, 1, 152064, a07785b52561150c48f1a8eff89d5d75
|
||||
0, 7, 7, 1, 152064, a3382a92982953dfa20018e5ac975b51
|
||||
0, 8, 8, 1, 152064, 911836989ca7b148438aa3ec7fc7e303
|
||||
0, 9, 9, 1, 152064, 5627b981e3fc9e4401d35d3a5ab25917
|
11
tests/ref/fate/vp9-01-sharpness-2
Normal file
11
tests/ref/fate/vp9-01-sharpness-2
Normal file
@ -0,0 +1,11 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, a2e5c820fd9733e18f9349fb658ca281
|
||||
0, 1, 1, 1, 152064, cd94572239817ae7c9b07de739c3272b
|
||||
0, 2, 2, 1, 152064, 383cf752d457e122b5ff49d08960208e
|
||||
0, 3, 3, 1, 152064, 1c0a6ec9cd3ce29b8b004e7526f1b07e
|
||||
0, 4, 4, 1, 152064, 91c42a8a108d67947cabfc2a5a80df66
|
||||
0, 5, 5, 1, 152064, 08c57fc1f3fec0305883315a66c714d1
|
||||
0, 6, 6, 1, 152064, 70cb8d8dc83eac82f2d3c4b0376bb1aa
|
||||
0, 7, 7, 1, 152064, ffd62a9ef829ec81f0f74f740488a41f
|
||||
0, 8, 8, 1, 152064, bab0aa23b5854e2a70926046e4618710
|
||||
0, 9, 9, 1, 152064, fec456f38f2a43661e786a8d5f67ed15
|
11
tests/ref/fate/vp9-01-sharpness-3
Normal file
11
tests/ref/fate/vp9-01-sharpness-3
Normal file
@ -0,0 +1,11 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, a2e5c820fd9733e18f9349fb658ca281
|
||||
0, 1, 1, 1, 152064, 0d487a146393a0b8b84b4be1b371b507
|
||||
0, 2, 2, 1, 152064, 68372e191eba620a431cfff226026ac3
|
||||
0, 3, 3, 1, 152064, de7fd274460e36b983fe93acc208d72f
|
||||
0, 4, 4, 1, 152064, afbd36c61bab65b98ff9acf08e215721
|
||||
0, 5, 5, 1, 152064, e1e9fc2ab4e7a187a8d8d84aae48d6b9
|
||||
0, 6, 6, 1, 152064, 11d95de6a9cc5e00511e99534779faac
|
||||
0, 7, 7, 1, 152064, cd2f5539fdfc2d8eefe6b6da28c13398
|
||||
0, 8, 8, 1, 152064, a8b3aeed41da7aeb8d5b962ee4a4af93
|
||||
0, 9, 9, 1, 152064, 4283670bd1c1c506ef18d3dafca22035
|
11
tests/ref/fate/vp9-01-sharpness-4
Normal file
11
tests/ref/fate/vp9-01-sharpness-4
Normal file
@ -0,0 +1,11 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, a2e5c820fd9733e18f9349fb658ca281
|
||||
0, 1, 1, 1, 152064, 8bad76c55b5149169d64ce6512521de6
|
||||
0, 2, 2, 1, 152064, c1d986e1f9bf46382e598ba289b9bd7c
|
||||
0, 3, 3, 1, 152064, 86c097ac6069c786023d3561dae68bac
|
||||
0, 4, 4, 1, 152064, 8c238a2831b8c7c49736b6de6ff76ed8
|
||||
0, 5, 5, 1, 152064, cb5a038ed0a74a317ee72dae93a7ee3e
|
||||
0, 6, 6, 1, 152064, f8fe330a257e3e4e4c39c1c12820a654
|
||||
0, 7, 7, 1, 152064, a73e2fcdcbb9334c0c123f8276a2c881
|
||||
0, 8, 8, 1, 152064, 24fccece8ee639e4d0e00e4060e1db0c
|
||||
0, 9, 9, 1, 152064, 46d6e9aad69a39c718c5fd1e41e86e6e
|
11
tests/ref/fate/vp9-01-sharpness-5
Normal file
11
tests/ref/fate/vp9-01-sharpness-5
Normal file
@ -0,0 +1,11 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, a2e5c820fd9733e18f9349fb658ca281
|
||||
0, 1, 1, 1, 152064, f1ce0a5d57a46c9ff1331804b7b03fdb
|
||||
0, 2, 2, 1, 152064, 0364a085b06bee6b980189cf5378eda9
|
||||
0, 3, 3, 1, 152064, 4b5358698d734b0ae210909a913d4c1e
|
||||
0, 4, 4, 1, 152064, dc22565aaceee77b15fd8ab3c84bd5e0
|
||||
0, 5, 5, 1, 152064, 5f6340b656536292b46ba9a647aeb6e4
|
||||
0, 6, 6, 1, 152064, b7d4bce9a04b2a6caa45801be15e331e
|
||||
0, 7, 7, 1, 152064, 534c851cfe59ffc047815ece98d8cede
|
||||
0, 8, 8, 1, 152064, 786b0e1564d5c71aabfc2dd528cff4e7
|
||||
0, 9, 9, 1, 152064, cac0366209cf471bb7cc3e64966cbbd4
|
11
tests/ref/fate/vp9-01-sharpness-6
Normal file
11
tests/ref/fate/vp9-01-sharpness-6
Normal file
@ -0,0 +1,11 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, a2e5c820fd9733e18f9349fb658ca281
|
||||
0, 1, 1, 1, 152064, 45d9ca07ed04210b1ebc743169bc8ec4
|
||||
0, 2, 2, 1, 152064, 5b646cc309a711f1d8814f925002d8c4
|
||||
0, 3, 3, 1, 152064, 34db8db727fa1ded0a55cc7cf85be249
|
||||
0, 4, 4, 1, 152064, 54173d08afe6369b16a9c0c9cc6ce04d
|
||||
0, 5, 5, 1, 152064, 76275b0a478cdb3c1fb527ebbce023c3
|
||||
0, 6, 6, 1, 152064, e7643cdf0c42f2af700d8730bfc1a453
|
||||
0, 7, 7, 1, 152064, 6e53097e56f680cb658d63100e7736f7
|
||||
0, 8, 8, 1, 152064, 1a407c3c8ea1d5245ae68c5ce7de70e1
|
||||
0, 9, 9, 1, 152064, 6cbca24912cadf09b20be74f14e359c9
|
11
tests/ref/fate/vp9-01-sharpness-7
Normal file
11
tests/ref/fate/vp9-01-sharpness-7
Normal file
@ -0,0 +1,11 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 152064, a2e5c820fd9733e18f9349fb658ca281
|
||||
0, 1, 1, 1, 152064, f719d0be18d16a448b4e7da3e2d9bf28
|
||||
0, 2, 2, 1, 152064, 83ee8ebc0ca796782a2376a76f2ffc26
|
||||
0, 3, 3, 1, 152064, 7cf5afdbc229e1af50a5377cfc23d831
|
||||
0, 4, 4, 1, 152064, 44244e896e0362f6376ba5afa563ba8b
|
||||
0, 5, 5, 1, 152064, df5f518d44eb6cb91b2df5a30d27ef82
|
||||
0, 6, 6, 1, 152064, 43cc3f151b8337aca7ee659c8abeb783
|
||||
0, 7, 7, 1, 152064, 4e89573470d9b97464e10806fc81aa8b
|
||||
0, 8, 8, 1, 152064, 62e0ba70f07ece8d85372f0a42e83a9a
|
||||
0, 9, 9, 1, 152064, 45ac2928acb11326f6c4a21401f3609c
|
11
tests/ref/fate/vp9-02-size-08x08
Normal file
11
tests/ref/fate/vp9-02-size-08x08
Normal file
@ -0,0 +1,11 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 96, 52def242c36123e5a8f5f53d6a971399
|
||||
0, 1, 1, 1, 96, 79c93360fbd47179400414bbfee0901c
|
||||
0, 2, 2, 1, 96, c3b1947c79537baa7838905276276a91
|
||||
0, 3, 3, 1, 96, 20f35e501bdee0bc63e87b9240265c25
|
||||
0, 4, 4, 1, 96, 5e8f1c464bafd54833c51860906b5368
|
||||
0, 5, 5, 1, 96, f57b592600dfc99e634a083278af769a
|
||||
0, 6, 6, 1, 96, 7b02191f85590cbad3f148c7b92d6436
|
||||
0, 7, 7, 1, 96, b0a1c9870447a1744f64cd4087ef55ee
|
||||
0, 8, 8, 1, 96, c82712b1ba7a95efb67cbdde0ad708b6
|
||||
0, 9, 9, 1, 96, 89f4539f8d7a7b45a91fd2f46335988e
|
11
tests/ref/fate/vp9-02-size-08x10
Normal file
11
tests/ref/fate/vp9-02-size-08x10
Normal file
@ -0,0 +1,11 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 120, ea3e0f807304b0eb2d3e329b0124f75c
|
||||
0, 1, 1, 1, 120, 8d13cf682d63e7eb13094f55d67fc458
|
||||
0, 2, 2, 1, 120, e729cc6c3684c94a8f6118c618efc3ea
|
||||
0, 3, 3, 1, 120, ac43a0ace8e4112e877c2491ecc14fb5
|
||||
0, 4, 4, 1, 120, 53695f90b88d8e8cb838f0faec3238d3
|
||||
0, 5, 5, 1, 120, 40afd1c4dfd4a2e3b31631c46d252bcc
|
||||
0, 6, 6, 1, 120, 2b656f76f2e84d2f82d9bda2b5be94d3
|
||||
0, 7, 7, 1, 120, b22f004d678d047bc401be5e040cf883
|
||||
0, 8, 8, 1, 120, 57c840319abfb9c31013fbde54de3fb0
|
||||
0, 9, 9, 1, 120, 0f3dfc156216d7cfb6fd1d8c77dadab9
|
11
tests/ref/fate/vp9-02-size-08x16
Normal file
11
tests/ref/fate/vp9-02-size-08x16
Normal file
@ -0,0 +1,11 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 192, 0553e56a9d89aea496421885aab491f5
|
||||
0, 1, 1, 1, 192, b2a14cf676f7ebf3c50450050f76ad16
|
||||
0, 2, 2, 1, 192, a308d981e09b50571fb0c8ebdcefe505
|
||||
0, 3, 3, 1, 192, d592ec625a0ac0373e82610c3eed9864
|
||||
0, 4, 4, 1, 192, acd19642455e643023b4fb882c3891ba
|
||||
0, 5, 5, 1, 192, 5af5390fd8c29b795e0ddf83f3f34284
|
||||
0, 6, 6, 1, 192, 473505aa2a76231725cf2107d6c9dbef
|
||||
0, 7, 7, 1, 192, 84860db6887e320f2d64f80cf0032e57
|
||||
0, 8, 8, 1, 192, 408e9cf60e99ae99d204ff08f3196d1a
|
||||
0, 9, 9, 1, 192, d8af96b79258f9382e911ed38340bdf5
|
11
tests/ref/fate/vp9-02-size-08x18
Normal file
11
tests/ref/fate/vp9-02-size-08x18
Normal file
@ -0,0 +1,11 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 216, 4c41f93b1b280b37bc77d7047435eaa4
|
||||
0, 1, 1, 1, 216, c9c80fdba2ebc2b8c3490ae35e34f84f
|
||||
0, 2, 2, 1, 216, 089d86acb3263fa5ef4f591a7f44556d
|
||||
0, 3, 3, 1, 216, 938fca6d93b83484144f5054e4838a41
|
||||
0, 4, 4, 1, 216, e0592e2ac9f5e09525ce0d3904cadf47
|
||||
0, 5, 5, 1, 216, ea43ff5d1330986e60c08567262ea764
|
||||
0, 6, 6, 1, 216, 08b40fe109ee90188f1cba9bbb1b376e
|
||||
0, 7, 7, 1, 216, b067068a2a7e36d5c5b5b405a1e73a18
|
||||
0, 8, 8, 1, 216, 9cf2d350296288803434b7451bd2be85
|
||||
0, 9, 9, 1, 216, 3c785e21dc228d6396738fbfcb470289
|
11
tests/ref/fate/vp9-02-size-08x32
Normal file
11
tests/ref/fate/vp9-02-size-08x32
Normal file
@ -0,0 +1,11 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 384, f92a7777fd69aa2f2914d9a41c4828ba
|
||||
0, 1, 1, 1, 384, 62e1cc73487d2249a88a60e35a22d9c7
|
||||
0, 2, 2, 1, 384, aa2619b605cb65eda15fdd99d5775550
|
||||
0, 3, 3, 1, 384, e6f0a491c543b835d0cefe5ca62c3dbe
|
||||
0, 4, 4, 1, 384, 361be1a06913c398f09494ca1b2d288f
|
||||
0, 5, 5, 1, 384, 0497bf849a973357c0ccb8d43f5bd8b4
|
||||
0, 6, 6, 1, 384, 5ac6ac523147c409dd00820622161dd7
|
||||
0, 7, 7, 1, 384, 7d07245574a46c524360f09be29a5f19
|
||||
0, 8, 8, 1, 384, fcfa7fbcaf42f81e4e34a4ee5a029ca1
|
||||
0, 9, 9, 1, 384, 336e3fe4f15d3d6c82d82b1855dcfeb4
|
11
tests/ref/fate/vp9-02-size-08x34
Normal file
11
tests/ref/fate/vp9-02-size-08x34
Normal file
@ -0,0 +1,11 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 408, f3f2cd8f157466ff23dace85d77367ce
|
||||
0, 1, 1, 1, 408, 639d9b70a14062e95559c12d2b597f91
|
||||
0, 2, 2, 1, 408, b2ee07a6656af583f19593229fa11848
|
||||
0, 3, 3, 1, 408, 74e3b5ab4c798a0afe745694e871bbd5
|
||||
0, 4, 4, 1, 408, 35f1c30d0f8678f319a392a6c53b5989
|
||||
0, 5, 5, 1, 408, 07e2b4c0b92a394bfb11124fe80476f0
|
||||
0, 6, 6, 1, 408, 7864bd20dfc5280e5f027d67ea22bf30
|
||||
0, 7, 7, 1, 408, 10a2925a7b91dfa9b82de76069388fd4
|
||||
0, 8, 8, 1, 408, 79cc7f7a149e8d6e04e065f75e63733c
|
||||
0, 9, 9, 1, 408, 6453d10d97532d9bb03f7c06cba9fca0
|
11
tests/ref/fate/vp9-02-size-08x64
Normal file
11
tests/ref/fate/vp9-02-size-08x64
Normal file
@ -0,0 +1,11 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 768, 764bd02b781a38c621a109c12f3d9393
|
||||
0, 1, 1, 1, 768, 79496bd2b9212026af816b3b7a0587d5
|
||||
0, 2, 2, 1, 768, 2a3afd47ba3d075033fd94d5c3746c45
|
||||
0, 3, 3, 1, 768, fca00cad8d37a6646337baebadd0ca31
|
||||
0, 4, 4, 1, 768, aca376fb3f8a5ef670ecc2430037262a
|
||||
0, 5, 5, 1, 768, 7e6c8d96d1e24855c3e380f1bf2ce02c
|
||||
0, 6, 6, 1, 768, 09e051241972969d439f27f324d78490
|
||||
0, 7, 7, 1, 768, 2566b2a425caaba41305bf04ff10ea01
|
||||
0, 8, 8, 1, 768, db3995bedee42ada1b4ee63c339daf1b
|
||||
0, 9, 9, 1, 768, b00b8f1bf4fd907f0487738f5b5442c6
|
11
tests/ref/fate/vp9-02-size-08x66
Normal file
11
tests/ref/fate/vp9-02-size-08x66
Normal file
@ -0,0 +1,11 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 792, df20e8df89449fe50bb610e95a449a95
|
||||
0, 1, 1, 1, 792, 18f1a66d463274d1b0489f3a50e86857
|
||||
0, 2, 2, 1, 792, b0cc102875a94c9a92e53826617adbe9
|
||||
0, 3, 3, 1, 792, dfece7c17b4b149283ef51bdc1bd440e
|
||||
0, 4, 4, 1, 792, 6e346884f67be259fcabe493109cb63c
|
||||
0, 5, 5, 1, 792, 6d282127311eb2d958377490d7cb77f0
|
||||
0, 6, 6, 1, 792, 637ac8b14ca5ddbaf7b8910406c3cd08
|
||||
0, 7, 7, 1, 792, e7980f3fcb36969da0d218c4389fa9e8
|
||||
0, 8, 8, 1, 792, 730a1c95b9fb165f6e1a2f33a0d25de0
|
||||
0, 9, 9, 1, 792, 7bd8424d0783b1c8ad617e17408371bb
|
11
tests/ref/fate/vp9-02-size-10x08
Normal file
11
tests/ref/fate/vp9-02-size-10x08
Normal file
@ -0,0 +1,11 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 120, e1e66a88615da98523ef887f1463fc42
|
||||
0, 1, 1, 1, 120, 549842fa98c8faf572882d38b0aae390
|
||||
0, 2, 2, 1, 120, 17ee85785517705fdc78c6122a4b2548
|
||||
0, 3, 3, 1, 120, 1143391d419dac30a6c11f366157c974
|
||||
0, 4, 4, 1, 120, b62d2a962c4c36809ef75a610106715c
|
||||
0, 5, 5, 1, 120, e6f143ca33fbc0e776bb149950cdedff
|
||||
0, 6, 6, 1, 120, 01716a1077ec66df00474fd4510d2789
|
||||
0, 7, 7, 1, 120, 8cb5b6a865fa2cbb15f0d7736fda88a6
|
||||
0, 8, 8, 1, 120, 0fb9fd883e895a540fe1704dddbbab04
|
||||
0, 9, 9, 1, 120, 150a3b99aa24ef102c92f87c8adb4386
|
11
tests/ref/fate/vp9-02-size-10x10
Normal file
11
tests/ref/fate/vp9-02-size-10x10
Normal file
@ -0,0 +1,11 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 150, 083d638f2e147295d817bb14fff5e4f4
|
||||
0, 1, 1, 1, 150, 6dbdc445b6fd6bb99f2025cc2a40977e
|
||||
0, 2, 2, 1, 150, 41714089383b181d64fbfa7de5904608
|
||||
0, 3, 3, 1, 150, 11fdb8465e1599f7a9227706646d2cba
|
||||
0, 4, 4, 1, 150, 907876b3342a10040db0851a936af4e3
|
||||
0, 5, 5, 1, 150, e7b18d47d06b25de205d873d3d941640
|
||||
0, 6, 6, 1, 150, 523ce7413c8da7f6a657a9b661f36c44
|
||||
0, 7, 7, 1, 150, 23caff863af875c66c903662a3e1e6a1
|
||||
0, 8, 8, 1, 150, ed4cc5557203e5b7a119112ee9ceb00b
|
||||
0, 9, 9, 1, 150, 4bb78a996be3188888d1c60e11a08e1b
|
11
tests/ref/fate/vp9-02-size-10x16
Normal file
11
tests/ref/fate/vp9-02-size-10x16
Normal file
@ -0,0 +1,11 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 240, fab07d6209d2413e0a434e1aaaa12154
|
||||
0, 1, 1, 1, 240, f9ffffdb96f98527ba2e553d1265edbb
|
||||
0, 2, 2, 1, 240, 56a992264cf7da2b23dd97435e9d0365
|
||||
0, 3, 3, 1, 240, b1db980423d8004bd45a789b02b92a65
|
||||
0, 4, 4, 1, 240, b29496aedc7026566367b634f55ebb28
|
||||
0, 5, 5, 1, 240, 2bc9def672da4a2fc17cbd669e2b8081
|
||||
0, 6, 6, 1, 240, 8c54721514cdf577a52a8668b9135f13
|
||||
0, 7, 7, 1, 240, 2efab81d5e039d82b3bc7b0303b022c4
|
||||
0, 8, 8, 1, 240, bd0f42b91b5d126fd0baec765b1096ad
|
||||
0, 9, 9, 1, 240, c6bfea2735a629167bc6a7a7c76eb7f3
|
11
tests/ref/fate/vp9-02-size-10x18
Normal file
11
tests/ref/fate/vp9-02-size-10x18
Normal file
@ -0,0 +1,11 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 270, 0e9182e214aae732d94d007e5fe44888
|
||||
0, 1, 1, 1, 270, 2630e2674b5611d68218fddac08815e2
|
||||
0, 2, 2, 1, 270, d5cdd7d6a3de17939f60bb60ef6877da
|
||||
0, 3, 3, 1, 270, 29d1961096061029e78963fa82581eca
|
||||
0, 4, 4, 1, 270, 5c2629f8aa59757f6b4aafa9f6cbcba1
|
||||
0, 5, 5, 1, 270, 1f1a8b61e4fbd6222ddf42e9d0a07032
|
||||
0, 6, 6, 1, 270, cfb9771190ac2d0129907102d6abb63f
|
||||
0, 7, 7, 1, 270, cd98dd856ba573a26a943cbe53221f26
|
||||
0, 8, 8, 1, 270, ca13c161f067c4a4ce22bd58a2aca55b
|
||||
0, 9, 9, 1, 270, de4bd1a474a76a35b796a5fc45b4f893
|
11
tests/ref/fate/vp9-02-size-10x32
Normal file
11
tests/ref/fate/vp9-02-size-10x32
Normal file
@ -0,0 +1,11 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 480, 622e6407a051ea08706394d03330ffbf
|
||||
0, 1, 1, 1, 480, 1841a0daf7c3ef7be94e01fdb1d3968a
|
||||
0, 2, 2, 1, 480, 37790e6cb2415f7add0ac5d3ab354755
|
||||
0, 3, 3, 1, 480, 91485880e17c292096a7335566d3648f
|
||||
0, 4, 4, 1, 480, eb6f74983d5fd13d6bd90afbce8836e1
|
||||
0, 5, 5, 1, 480, 0069ab5ff7f0d4d601f7d0f9b7a08338
|
||||
0, 6, 6, 1, 480, dbf04254765f7497070387e8c34895c6
|
||||
0, 7, 7, 1, 480, 410a9b2d9855b2c29618070994adae96
|
||||
0, 8, 8, 1, 480, 7e7f34effd90209f29f1b9ae01488b3b
|
||||
0, 9, 9, 1, 480, 471530f74082c01c9b0f1fcf3d240d77
|
11
tests/ref/fate/vp9-02-size-10x34
Normal file
11
tests/ref/fate/vp9-02-size-10x34
Normal file
@ -0,0 +1,11 @@
|
||||
#tb 0: 1001/30000
|
||||
0, 0, 0, 1, 510, bfeeaf51f972fd0dfe9ee757083cbb54
|
||||
0, 1, 1, 1, 510, 10cd4ed6d762004846412d9cd0caa407
|
||||
0, 2, 2, 1, 510, 04cca4008d656ed180de88dd2ddb4f21
|
||||
0, 3, 3, 1, 510, ec777e377836895748c06849fa35ed2d
|
||||
0, 4, 4, 1, 510, b55633d0f9239dff3e45a4abce4a35a7
|
||||
0, 5, 5, 1, 510, 063c3ab4b4c599942c3a8a5b7bfe5029
|
||||
0, 6, 6, 1, 510, 07b920169d32b5fc51d5b9ae16fef5bf
|
||||
0, 7, 7, 1, 510, 8d49e727db9d3072b5ab7bab2133d9be
|
||||
0, 8, 8, 1, 510, 17441437203447e946a57d2f96966332
|
||||
0, 9, 9, 1, 510, 5d3f14af0e5cd81d0c7d2059f13efa5a
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user