Change-Id: I0d57cf019d5715d3360736763be0c5afe0bd0de4
This commit is contained in:
Adrian Grange 2016-03-28 12:18:16 -07:00
Родитель 80edfa0132
Коммит ec838b76b6
32 изменённых файлов: 227 добавлений и 227 удалений

6
.gitignore поставляемый
Просмотреть файл

@ -35,8 +35,8 @@
/examples/simple_decoder
/examples/simple_encoder
/examples/twopass_encoder
/examples/vp8_multi_resolution_encoder
/examples/vp8cx_set_ref
/examples/aom_multi_resolution_encoder
/examples/aomcx_set_ref
/examples/vp9_lossless_encoder
/examples/vp9_spatial_scalable_encoder
/examples/aom_temporal_scalable_patterns
@ -50,7 +50,7 @@
/samples.dox
/test_intra_pred_speed
/test_libaom
/vp8_api1_migration.dox
/aom_api1_migration.dox
/vp[89x]_rtcd.h
/aom.pc
/aom_config.c

Просмотреть файл

@ -304,7 +304,7 @@
aomenc: add rate histogram display
Set AOM_FRAME_IS_DROPPABLE
update configure for ios sdk 4.3
Avoid text relocations in ARM vp8 decoder
Avoid text relocations in ARM aom decoder
Generate a aom.pc file for pkg-config.
New ways of passing encoded data between encoder and decoder.
@ -333,7 +333,7 @@
disable trellis optimization for first pass
Write SSSE3 sub-pixel filter function
Improve SSE2 half-pixel filter funtions
Add vp8_sub_pixel_variance16x8_ssse3 function
Add aom_sub_pixel_variance16x8_ssse3 function
Reduce unnecessary distortion computation
Use diamond search to replace full search
Preload reference area in sub-pixel motion search (real-time mode)
@ -399,7 +399,7 @@
FDCT optimizations.
x86 sse2 temporal filter
SSSE3 version of fast quantizer
vp8_rd_pick_best_mbsegmentation code restructure
aom_rd_pick_best_mbsegmentation code restructure
Adjusted breakout RD for SPLITMV
Changed segmentation check order
Improved rd_pick_intra4x4block
@ -408,7 +408,7 @@
ARMv6 optimized half pixel variance calculations
Full search SAD function optimization in SSE4.1
Improve MV prediction accuracy to achieve performance gain
Improve MV prediction in vp8_pick_inter_mode() for speed>3
Improve MV prediction in aom_pick_inter_mode() for speed>3
- Quality:
Best quality mode improved PSNR 6.3%, and SSIM 6.1%. This release
@ -439,7 +439,7 @@
Fix ARM encoder crash with multiple token partitions
Fixed bug first cluster timecode of webm file is wrong.
Fixed various encoder bugs with odd-sized images
vp8e_get_preview fixed when spatial resampling enabled
aome_get_preview fixed when spatial resampling enabled
quantizer: fix assertion in fast quantizer path
Allocate source buffers to be multiples of 16
Fix for manual Golden frame frequency
@ -517,13 +517,13 @@
Improve handling of invalid frames
Fix valgrind errors in the NEON loop filters.
Fix loopfilter delta zero transitions
Fix valgrind errors in vp8_sixtap_predict8x4_armv6().
Fix valgrind errors in aom_sixtap_predict8x4_armv6().
Build fixes for darwin-icc
- Speed:
20-40% (average 28%) improvement in libaom decoder speed,
including:
Rewrite vp8_short_walsh4x4_sse2()
Rewrite aom_short_walsh4x4_sse2()
Optimizations on the loopfilters.
Miscellaneous improvements for Atom
Add 4-tap version of 2nd-pass ARMv6 MC filter.
@ -539,8 +539,8 @@
Encoder speed improvements (percentage gain not measured):
Skip unnecessary search of identical frames
Add SSE2 subtract functions
Improve bounds checking in vp8_diamond_search_sadx4()
Added vp8_fast_quantize_b_sse2
Improve bounds checking in aom_diamond_search_sadx4()
Added aom_fast_quantize_b_sse2
- Quality:
Over 7% overall PSNR improvement (6.3% SSIM) in "best" quality

Просмотреть файл

@ -9,7 +9,7 @@
* PATENTS file, you can obtain it at www.aomedia.org/license/patent.
*/
/*!\defgroup vp8 AOM
/*!\defgroup aom AOM
* \ingroup codecs
* AOM is aom's newest video compression algorithm that uses motion
* compensated prediction, Discrete Cosine Transform (DCT) coding of the
@ -42,7 +42,7 @@ extern "C" {
*
* The set of macros define the control functions of AOM interface
*/
enum vp8_com_control_id {
enum aom_com_control_id {
AOM_SET_REFERENCE =
1, /**< pass in an external frame into decoder to be used as reference
frame */
@ -67,7 +67,7 @@ enum vp8_com_control_id {
*
* The set of macros define AOM decoder post processing flags
*/
enum vp8_postproc_level {
enum aom_postproc_level {
AOM_NOFILTERING = 0,
AOM_DEBLOCK = 1 << 0,
AOM_DEMACROBLOCK = 1 << 1,
@ -87,12 +87,12 @@ enum vp8_postproc_level {
* to AOM_DEBLOCK and deblocking_level to 1.
*/
typedef struct vp8_postproc_cfg {
typedef struct aom_postproc_cfg {
int post_proc_flag; /**< the types of post processing to be done, should be
combination of "vp8_postproc_level" */
combination of "aom_postproc_level" */
int deblocking_level; /**< the strength of deblocking, valid range [0, 16] */
int noise_level; /**< the strength of additive noise, valid range [0, 16] */
} vp8_postproc_cfg_t;
} aom_postproc_cfg_t;
/*!\brief reference frame type
*
@ -106,7 +106,7 @@ typedef enum aom_ref_frame_type {
/*!\brief reference frame data struct
*
* Define the data struct to access vp8 reference frames.
* Define the data struct to access aom reference frames.
*/
typedef struct aom_ref_frame {
aom_ref_frame_type_t frame_type; /**< which reference frame */
@ -123,7 +123,7 @@ typedef struct vp9_ref_frame {
} vp9_ref_frame_t;
/*!\cond */
/*!\brief vp8 decoder control function parameter type
/*!\brief aom decoder control function parameter type
*
* defines the data type for each of AOM decoder control function requires
*/
@ -131,7 +131,7 @@ AOM_CTRL_USE_TYPE(AOM_SET_REFERENCE, aom_ref_frame_t *)
#define AOM_CTRL_AOM_SET_REFERENCE
AOM_CTRL_USE_TYPE(AOM_COPY_REFERENCE, aom_ref_frame_t *)
#define AOM_CTRL_AOM_COPY_REFERENCE
AOM_CTRL_USE_TYPE(AOM_SET_POSTPROC, vp8_postproc_cfg_t *)
AOM_CTRL_USE_TYPE(AOM_SET_POSTPROC, aom_postproc_cfg_t *)
#define AOM_CTRL_AOM_SET_POSTPROC
AOM_CTRL_USE_TYPE(AOM_SET_DBG_COLOR_REF_FRAME, int)
#define AOM_CTRL_AOM_SET_DBG_COLOR_REF_FRAME
@ -145,7 +145,7 @@ AOM_CTRL_USE_TYPE(AV1_GET_REFERENCE, vp9_ref_frame_t *)
#define AOM_CTRL_AV1_GET_REFERENCE
/*!\endcond */
/*! @} - end defgroup vp8 */
/*! @} - end defgroup aom */
#ifdef __cplusplus
} // extern "C"

Просмотреть файл

@ -11,8 +11,8 @@
#ifndef AOM_AOMCX_H_
#define AOM_AOMCX_H_
/*!\defgroup vp8_encoder WebM AOM/AV1 Encoder
* \ingroup vp8
/*!\defgroup aom_encoder WebM AOM/AV1 Encoder
* \ingroup aom
*
* @{
*/
@ -114,7 +114,7 @@ extern aom_codec_iface_t *aom_codec_av1_cx(void);
*
* \sa #aom_codec_control
*/
enum vp8e_enc_control_id {
enum aome_enc_control_id {
/*!\brief Codec control function to pass an ROI map to encoder.
*
* Supported in codecs: AOM, AV1
@ -667,7 +667,7 @@ typedef enum {
AOM_TWO_TOKENPARTITION = 1,
AOM_FOUR_TOKENPARTITION = 2,
AOM_EIGHT_TOKENPARTITION = 3
} vp8e_token_partitions;
} aome_token_partitions;
/*!brief AV1 encoder content type */
typedef enum {
@ -748,7 +748,7 @@ AOM_CTRL_USE_TYPE(AOME_SET_SHARPNESS, unsigned int)
#define AOM_CTRL_AOME_SET_SHARPNESS
AOM_CTRL_USE_TYPE(AOME_SET_STATIC_THRESHOLD, unsigned int)
#define AOM_CTRL_AOME_SET_STATIC_THRESHOLD
AOM_CTRL_USE_TYPE(AOME_SET_TOKEN_PARTITIONS, int) /* vp8e_token_partitions */
AOM_CTRL_USE_TYPE(AOME_SET_TOKEN_PARTITIONS, int) /* aome_token_partitions */
#define AOM_CTRL_AOME_SET_TOKEN_PARTITIONS
AOM_CTRL_USE_TYPE(AOME_SET_ARNR_MAXFRAMES, unsigned int)
@ -836,7 +836,7 @@ AOM_CTRL_USE_TYPE(AV1E_SET_RENDER_SIZE, int *)
#define AOM_CTRL_AV1E_SET_RENDER_SIZE
/*!\endcond */
/*! @} - end defgroup vp8_encoder */
/*! @} - end defgroup aom_encoder */
#ifdef __cplusplus
} // extern "C"
#endif

Просмотреть файл

@ -9,8 +9,8 @@
* PATENTS file, you can obtain it at www.aomedia.org/license/patent.
*/
/*!\defgroup vp8_decoder WebM AOM/AV1 Decoder
* \ingroup vp8
/*!\defgroup aom_decoder WebM AOM/AV1 Decoder
* \ingroup aom
*
* @{
*/
@ -37,7 +37,7 @@ extern aom_codec_iface_t aom_codec_av1_dx_algo;
extern aom_codec_iface_t *aom_codec_av1_dx(void);
/*!@} - end algorithm interface member group*/
/*!\enum vp8_dec_control_id
/*!\enum aom_dec_control_id
* \brief AOM decoder control functions
*
* This set of macros define the control functions available for the AOM
@ -45,7 +45,7 @@ extern aom_codec_iface_t *aom_codec_av1_dx(void);
*
* \sa #aom_codec_control
*/
enum vp8_dec_control_id {
enum aom_dec_control_id {
/** control function to get info on which reference frames were updated
* by the last decode
*/
@ -126,7 +126,7 @@ typedef struct aom_decrypt_init {
/*!\brief A deprecated alias for aom_decrypt_init.
*/
typedef aom_decrypt_init vp8_decrypt_init;
typedef aom_decrypt_init aom_decrypt_init;
/*!\cond */
/*!\brief AOM decoder control function parameter type
@ -156,7 +156,7 @@ AOM_CTRL_USE_TYPE(AV1_INVERT_TILE_DECODE_ORDER, int)
#define AOM_CTRL_AV1_INVERT_TILE_DECODE_ORDER
/*!\endcond */
/*! @} - end defgroup vp8_decoder */
/*! @} - end defgroup aom_decoder */
#ifdef __cplusplus
} // extern "C"

Просмотреть файл

@ -50,7 +50,7 @@ static INLINE void loop_filter_neon_16(uint8x16_t qblimit, // blimit
q9 = vabdq_u8(q6, q7);
// vp8_hevmask
// aom_hevmask
q13u8 = vcgtq_u8(q13u8, qthresh);
q14u8 = vcgtq_u8(q14u8, qthresh);
q15u8 = vmaxq_u8(q15u8, q3);
@ -60,7 +60,7 @@ static INLINE void loop_filter_neon_16(uint8x16_t qblimit, // blimit
q15u8 = vcgeq_u8(qlimit, q15u8);
// vp8_filter() function
// aom_filter() function
// convert to signed
q10 = vdupq_n_u8(0x80);
q8 = veorq_u8(q8, q10);
@ -95,7 +95,7 @@ static INLINE void loop_filter_neon_16(uint8x16_t qblimit, // blimit
q4 = vdupq_n_u8(3);
q9 = vdupq_n_u8(4);
// vp8_filter = clamp(vp8_filter + 3 * ( qs0 - ps0))
// aom_filter = clamp(aom_filter + 3 * ( qs0 - ps0))
d2s8 = vqmovn_s16(q2s16);
d3s8 = vqmovn_s16(q11s16);
q1s8 = vcombine_s8(d2s8, d3s8);

Просмотреть файл

@ -14,7 +14,7 @@
AREA ||.text||, CODE, READONLY, ALIGN=2
; Currently aom only works on iterations 8 at a time. The vp8 loop filter
; Currently aom only works on iterations 8 at a time. The aom loop filter
; works on 16 iterations at a time.
; TODO(fgalligan): See about removing the count code as this function is only
; called with a count of 1.
@ -77,7 +77,7 @@ end_aom_lf_h_edge
pop {pc}
ENDP ; |aom_lpf_horizontal_4_neon|
; Currently aom only works on iterations 8 at a time. The vp8 loop filter
; Currently aom only works on iterations 8 at a time. The aom loop filter
; works on 16 iterations at a time.
; TODO(fgalligan): See about removing the count code as this function is only
; called with a count of 1.

Просмотреть файл

@ -14,7 +14,7 @@
AREA ||.text||, CODE, READONLY, ALIGN=2
; Currently aom only works on iterations 8 at a time. The vp8 loop filter
; Currently aom only works on iterations 8 at a time. The aom loop filter
; works on 16 iterations at a time.
; TODO(fgalligan): See about removing the count code as this function is only
; called with a count of 1.

Просмотреть файл

@ -347,13 +347,13 @@ void aom_d63_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride,
DST(1, 0) = DST(0, 2) = AVG2(B, C);
DST(2, 0) = DST(1, 2) = AVG2(C, D);
DST(3, 0) = DST(2, 2) = AVG2(D, E);
DST(3, 2) = AVG2(E, F); // differs from vp8
DST(3, 2) = AVG2(E, F); // differs from aom
DST(0, 1) = AVG3(A, B, C);
DST(1, 1) = DST(0, 3) = AVG3(B, C, D);
DST(2, 1) = DST(1, 3) = AVG3(C, D, E);
DST(3, 1) = DST(2, 3) = AVG3(D, E, F);
DST(3, 3) = AVG3(E, F, G); // differs from vp8
DST(3, 3) = AVG3(E, F, G); // differs from aom
}
void aom_d63f_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride,
@ -398,7 +398,7 @@ void aom_d45_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride,
DST(3, 0) = DST(2, 1) = DST(1, 2) = DST(0, 3) = AVG3(D, E, F);
DST(3, 1) = DST(2, 2) = DST(1, 3) = AVG3(E, F, G);
DST(3, 2) = DST(2, 3) = AVG3(F, G, H);
DST(3, 3) = H; // differs from vp8
DST(3, 3) = H; // differs from aom
}
void aom_d45e_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride,

Просмотреть файл

@ -73,7 +73,7 @@ static INLINE void filter_dspr2(uint32_t mask, uint32_t hev, uint32_t *ps1,
hev_r = hev_r & HWM;
__asm__ __volatile__(
/* aom_filter = vp8_signed_char_clamp(ps1 - qs1); */
/* aom_filter = aom_signed_char_clamp(ps1 - qs1); */
"subq_s.ph %[aom_filter_l], %[vps1_l], %[vqs1_l] \n\t"
"subq_s.ph %[aom_filter_r], %[vps1_r], %[vqs1_r] \n\t"
@ -85,7 +85,7 @@ static INLINE void filter_dspr2(uint32_t mask, uint32_t hev, uint32_t *ps1,
"and %[aom_filter_l], %[aom_filter_l], %[hev_l] \n\t"
"and %[aom_filter_r], %[aom_filter_r], %[hev_r] \n\t"
/* aom_filter = vp8_signed_char_clamp(aom_filter + 3 * (qs0 - ps0)); */
/* aom_filter = aom_signed_char_clamp(aom_filter + 3 * (qs0 - ps0)); */
"addq_s.ph %[aom_filter_l], %[aom_filter_l], %[subr_l] \n\t"
"addq_s.ph %[aom_filter_r], %[aom_filter_r], %[subr_r] \n\t"
"xor %[invhev_l], %[hev_l], %[HWM] \n\t"
@ -110,11 +110,11 @@ static INLINE void filter_dspr2(uint32_t mask, uint32_t hev, uint32_t *ps1,
/* save bottom 3 bits so that we round one side +4 and the other +3 */
__asm__ __volatile__(
/* Filter2 = vp8_signed_char_clamp(aom_filter + 3) >>= 3; */
/* Filter2 = aom_signed_char_clamp(aom_filter + 3) >>= 3; */
"addq_s.ph %[Filter1_l], %[aom_filter_l], %[t2] \n\t"
"addq_s.ph %[Filter1_r], %[aom_filter_r], %[t2] \n\t"
/* Filter1 = vp8_signed_char_clamp(aom_filter + 4) >>= 3; */
/* Filter1 = aom_signed_char_clamp(aom_filter + 4) >>= 3; */
"addq_s.ph %[Filter2_l], %[aom_filter_l], %[t1] \n\t"
"addq_s.ph %[Filter2_r], %[aom_filter_r], %[t1] \n\t"
"shra.ph %[Filter1_r], %[Filter1_r], 3 \n\t"
@ -126,11 +126,11 @@ static INLINE void filter_dspr2(uint32_t mask, uint32_t hev, uint32_t *ps1,
"and %[Filter1_l], %[Filter1_l], %[HWM] \n\t"
"and %[Filter1_r], %[Filter1_r], %[HWM] \n\t"
/* vps0 = vp8_signed_char_clamp(ps0 + Filter2); */
/* vps0 = aom_signed_char_clamp(ps0 + Filter2); */
"addq_s.ph %[vps0_l], %[vps0_l], %[Filter2_l] \n\t"
"addq_s.ph %[vps0_r], %[vps0_r], %[Filter2_r] \n\t"
/* vqs0 = vp8_signed_char_clamp(qs0 - Filter1); */
/* vqs0 = aom_signed_char_clamp(qs0 - Filter1); */
"subq_s.ph %[vqs0_l], %[vqs0_l], %[Filter1_l] \n\t"
"subq_s.ph %[vqs0_r], %[vqs0_r], %[Filter1_r] \n\t"
@ -150,11 +150,11 @@ static INLINE void filter_dspr2(uint32_t mask, uint32_t hev, uint32_t *ps1,
"and %[Filter1_l], %[Filter1_l], %[invhev_l] \n\t"
"and %[Filter1_r], %[Filter1_r], %[invhev_r] \n\t"
/* vps1 = vp8_signed_char_clamp(ps1 + aom_filter); */
/* vps1 = aom_signed_char_clamp(ps1 + aom_filter); */
"addq_s.ph %[vps1_l], %[vps1_l], %[Filter1_l] \n\t"
"addq_s.ph %[vps1_r], %[vps1_r], %[Filter1_r] \n\t"
/* vqs1 = vp8_signed_char_clamp(qs1 - aom_filter); */
/* vqs1 = aom_signed_char_clamp(qs1 - aom_filter); */
"subq_s.ph %[vqs1_l], %[vqs1_l], %[Filter1_l] \n\t"
"subq_s.ph %[vqs1_r], %[vqs1_r], %[Filter1_r] \n\t"
@ -240,7 +240,7 @@ static INLINE void filter1_dspr2(uint32_t mask, uint32_t hev, uint32_t ps1,
hev_r = hev_r & HWM;
__asm__ __volatile__(
/* aom_filter = vp8_signed_char_clamp(ps1 - qs1); */
/* aom_filter = aom_signed_char_clamp(ps1 - qs1); */
"subq_s.ph %[aom_filter_l], %[vps1_l], %[vqs1_l] \n\t"
"subq_s.ph %[aom_filter_r], %[vps1_r], %[vqs1_r] \n\t"
@ -252,7 +252,7 @@ static INLINE void filter1_dspr2(uint32_t mask, uint32_t hev, uint32_t ps1,
"and %[aom_filter_l], %[aom_filter_l], %[hev_l] \n\t"
"and %[aom_filter_r], %[aom_filter_r], %[hev_r] \n\t"
/* aom_filter = vp8_signed_char_clamp(aom_filter + 3 * (qs0 - ps0)); */
/* aom_filter = aom_signed_char_clamp(aom_filter + 3 * (qs0 - ps0)); */
"addq_s.ph %[aom_filter_l], %[aom_filter_l], %[subr_l] \n\t"
"addq_s.ph %[aom_filter_r], %[aom_filter_r], %[subr_r] \n\t"
"xor %[invhev_l], %[hev_l], %[HWM] \n\t"
@ -277,11 +277,11 @@ static INLINE void filter1_dspr2(uint32_t mask, uint32_t hev, uint32_t ps1,
/* save bottom 3 bits so that we round one side +4 and the other +3 */
__asm__ __volatile__(
/* Filter2 = vp8_signed_char_clamp(aom_filter + 3) >>= 3; */
/* Filter2 = aom_signed_char_clamp(aom_filter + 3) >>= 3; */
"addq_s.ph %[Filter1_l], %[aom_filter_l], %[t2] \n\t"
"addq_s.ph %[Filter1_r], %[aom_filter_r], %[t2] \n\t"
/* Filter1 = vp8_signed_char_clamp(aom_filter + 4) >>= 3; */
/* Filter1 = aom_signed_char_clamp(aom_filter + 4) >>= 3; */
"addq_s.ph %[Filter2_l], %[aom_filter_l], %[t1] \n\t"
"addq_s.ph %[Filter2_r], %[aom_filter_r], %[t1] \n\t"
"shra.ph %[Filter1_r], %[Filter1_r], 3 \n\t"
@ -293,11 +293,11 @@ static INLINE void filter1_dspr2(uint32_t mask, uint32_t hev, uint32_t ps1,
"and %[Filter1_l], %[Filter1_l], %[HWM] \n\t"
"and %[Filter1_r], %[Filter1_r], %[HWM] \n\t"
/* vps0 = vp8_signed_char_clamp(ps0 + Filter2); */
/* vps0 = aom_signed_char_clamp(ps0 + Filter2); */
"addq_s.ph %[vps0_l], %[vps0_l], %[Filter2_l] \n\t"
"addq_s.ph %[vps0_r], %[vps0_r], %[Filter2_r] \n\t"
/* vqs0 = vp8_signed_char_clamp(qs0 - Filter1); */
/* vqs0 = aom_signed_char_clamp(qs0 - Filter1); */
"subq_s.ph %[vqs0_l], %[vqs0_l], %[Filter1_l] \n\t"
"subq_s.ph %[vqs0_r], %[vqs0_r], %[Filter1_r] \n\t"
@ -317,11 +317,11 @@ static INLINE void filter1_dspr2(uint32_t mask, uint32_t hev, uint32_t ps1,
"and %[Filter1_l], %[Filter1_l], %[invhev_l] \n\t"
"and %[Filter1_r], %[Filter1_r], %[invhev_r] \n\t"
/* vps1 = vp8_signed_char_clamp(ps1 + aom_filter); */
/* vps1 = aom_signed_char_clamp(ps1 + aom_filter); */
"addq_s.ph %[vps1_l], %[vps1_l], %[Filter1_l] \n\t"
"addq_s.ph %[vps1_r], %[vps1_r], %[Filter1_r] \n\t"
/* vqs1 = vp8_signed_char_clamp(qs1 - aom_filter); */
/* vqs1 = aom_signed_char_clamp(qs1 - aom_filter); */
"subq_s.ph %[vqs1_l], %[vqs1_l], %[Filter1_l] \n\t"
"subq_s.ph %[vqs1_r], %[vqs1_r], %[Filter1_r] \n\t"

Просмотреть файл

@ -30,7 +30,7 @@ typedef unsigned int (*aom_sad_avg_fn_t)(const uint8_t *a_ptr, int a_stride,
const uint8_t *b_ptr, int b_stride,
const uint8_t *second_pred);
typedef void (*vp8_copy32xn_fn_t)(const uint8_t *a, int a_stride, uint8_t *b,
typedef void (*aom_copy32xn_fn_t)(const uint8_t *a, int a_stride, uint8_t *b,
int b_stride, int n);
typedef void (*aom_sad_multi_fn_t)(const uint8_t *a, int a_stride,

Просмотреть файл

@ -107,7 +107,7 @@ struct aom_codec_alg_priv {
#endif
aom_image_t preview_img;
aom_enc_frame_flags_t next_frame_flags;
vp8_postproc_cfg_t preview_ppcfg;
aom_postproc_cfg_t preview_ppcfg;
aom_codec_pkt_list_decl(256) pkt_list;
unsigned int fixed_kf_cntr;
aom_codec_priv_output_cx_pkt_cb_pair_t output_cx_pkt_cb;

Просмотреть файл

@ -46,7 +46,7 @@ struct aom_codec_alg_priv {
aom_codec_dec_cfg_t cfg;
av1_stream_info_t si;
int postproc_cfg_set;
vp8_postproc_cfg_t postproc_cfg;
aom_postproc_cfg_t postproc_cfg;
aom_decrypt_cb decrypt_cb;
void *decrypt_state;
aom_image_t img;
@ -293,7 +293,7 @@ static void init_buffer_callbacks(aom_codec_alg_priv_t *ctx) {
}
}
static void set_default_ppflags(vp8_postproc_cfg_t *cfg) {
static void set_default_ppflags(aom_postproc_cfg_t *cfg) {
cfg->post_proc_flag = AOM_DEBLOCK | AOM_DEMACROBLOCK;
cfg->deblocking_level = 4;
cfg->noise_level = 0;

Просмотреть файл

@ -507,13 +507,13 @@ int main(int argc, char **argv) {
if (argc < min_args) {
#if CONFIG_AOM_HIGHBITDEPTH
die(
"Usage: %s <infile> <outfile> <codec_type(vp8/vp9)> <width> <height> "
"Usage: %s <infile> <outfile> <codec_type(aom/vp9)> <width> <height> "
"<rate_num> <rate_den> <speed> <frame_drop_threshold> <mode> "
"<Rate_0> ... <Rate_nlayers-1> <bit-depth> \n",
argv[0]);
#else
die(
"Usage: %s <infile> <outfile> <codec_type(vp8/vp9)> <width> <height> "
"Usage: %s <infile> <outfile> <codec_type(aom/vp9)> <width> <height> "
"<rate_num> <rate_den> <speed> <frame_drop_threshold> <mode> "
"<Rate_0> ... <Rate_nlayers-1> \n",
argv[0]);
@ -598,7 +598,7 @@ int main(int argc, char **argv) {
for (i = min_args_base;
(int)i < min_args_base + mode_to_num_layers[layering_mode]; ++i) {
rc.layer_target_bitrate[i - 11] = strtol(argv[i], NULL, 0);
if (strncmp(encoder->name, "vp8", 3) == 0)
if (strncmp(encoder->name, "aom", 3) == 0)
cfg.ts_target_bitrate[i - 11] = rc.layer_target_bitrate[i - 11];
else if (strncmp(encoder->name, "vp9", 3) == 0)
cfg.layer_target_bitrate[i - 11] = rc.layer_target_bitrate[i - 11];
@ -676,7 +676,7 @@ int main(int argc, char **argv) {
#endif // CONFIG_AOM_HIGHBITDEPTH
die_codec(&codec, "Failed to initialize encoder");
if (strncmp(encoder->name, "vp8", 3) == 0) {
if (strncmp(encoder->name, "aom", 3) == 0) {
aom_codec_control(&codec, AOME_SET_CPUUSED, -speed);
aom_codec_control(&codec, AOME_SET_NOISE_SENSITIVITY, kDenoiserOff);
aom_codec_control(&codec, AOME_SET_STATIC_THRESHOLD, 1);
@ -699,7 +699,7 @@ int main(int argc, char **argv) {
svc_params.scaling_factor_den[0] = cfg.g_h;
aom_codec_control(&codec, AV1E_SET_SVC_PARAMETERS, &svc_params);
}
if (strncmp(encoder->name, "vp8", 3) == 0) {
if (strncmp(encoder->name, "aom", 3) == 0) {
aom_codec_control(&codec, AOME_SET_SCREEN_CONTENT_MODE, 0);
}
aom_codec_control(&codec, AOME_SET_TOKEN_PARTITIONS, 1);
@ -725,7 +725,7 @@ int main(int argc, char **argv) {
cfg.ts_layer_id[frame_cnt % cfg.ts_periodicity];
if (strncmp(encoder->name, "vp9", 3) == 0) {
aom_codec_control(&codec, AV1E_SET_SVC_LAYER_ID, &layer_id);
} else if (strncmp(encoder->name, "vp8", 3) == 0) {
} else if (strncmp(encoder->name, "aom", 3) == 0) {
aom_codec_control(&codec, AOME_SET_TEMPORAL_LAYER_ID,
layer_id.temporal_layer_id);
}

Просмотреть файл

@ -29,7 +29,7 @@
// -----------------
// For decoders, you only have to include `aom_decoder.h` and then any
// header files for the specific codecs you use. In this case, we're using
// vp8.
// aom.
//
// Initializing The Codec
// ----------------------

Просмотреть файл

@ -29,7 +29,7 @@
// -----------------
// For encoders, you only have to include `aom_encoder.h` and then any
// header files for the specific codecs you use. In this case, we're using
// vp8.
// aom.
//
// Getting The Default Configuration
// ---------------------------------

Просмотреть файл

@ -12,11 +12,11 @@
This distribution of the WebM Codec SDK includes the following support:
\if vp8_encoder
- \ref vp8_encoder
\if aom_encoder
- \ref aom_encoder
\endif
\if vp8_decoder
- \ref vp8_decoder
\if aom_decoder
- \ref aom_decoder
\endif

Просмотреть файл

@ -8,21 +8,21 @@
## in the file PATENTS. All contributing project authors may
## be found in the AUTHORS file in the root of the source tree.
##
## This file tests the libaom vp8_multi_resolution_encoder example. To add new
## This file tests the libaom aom_multi_resolution_encoder example. To add new
## tests to this file, do the following:
## 1. Write a shell function (this is your test).
## 2. Add the function to vp8_mre_tests (on a new line).
## 2. Add the function to aom_mre_tests (on a new line).
##
. $(dirname $0)/tools_common.sh
# Environment check: $YUV_RAW_INPUT is required.
vp8_multi_resolution_encoder_verify_environment() {
aom_multi_resolution_encoder_verify_environment() {
if [ "$(aom_config_option_enabled CONFIG_MULTI_RES_ENCODING)" = "yes" ]; then
if [ ! -e "${YUV_RAW_INPUT}" ]; then
elog "Libaom test data must exist in LIBAOM_TEST_DATA_PATH."
return 1
fi
local readonly app="vp8_multi_resolution_encoder"
local readonly app="aom_multi_resolution_encoder"
if [ -z "$(aom_tool_path "${app}")" ]; then
elog "${app} not found. It must exist in LIBAOM_BIN_PATH or its parent."
return 1
@ -30,10 +30,10 @@ vp8_multi_resolution_encoder_verify_environment() {
fi
}
# Runs vp8_multi_resolution_encoder. Simply forwards all arguments to
# vp8_multi_resolution_encoder after building path to the executable.
vp8_mre() {
local readonly encoder="$(aom_tool_path vp8_multi_resolution_encoder)"
# Runs aom_multi_resolution_encoder. Simply forwards all arguments to
# aom_multi_resolution_encoder after building path to the executable.
aom_mre() {
local readonly encoder="$(aom_tool_path aom_multi_resolution_encoder)"
if [ ! -x "${encoder}" ]; then
elog "${encoder} does not exist or is not executable."
return 1
@ -42,20 +42,20 @@ vp8_mre() {
eval "${AOM_TEST_PREFIX}" "${encoder}" "$@" ${devnull}
}
vp8_multi_resolution_encoder_three_formats() {
local readonly output_files="${AOM_TEST_OUTPUT_DIR}/vp8_mre_0.ivf
${AOM_TEST_OUTPUT_DIR}/vp8_mre_1.ivf
${AOM_TEST_OUTPUT_DIR}/vp8_mre_2.ivf"
aom_multi_resolution_encoder_three_formats() {
local readonly output_files="${AOM_TEST_OUTPUT_DIR}/aom_mre_0.ivf
${AOM_TEST_OUTPUT_DIR}/aom_mre_1.ivf
${AOM_TEST_OUTPUT_DIR}/aom_mre_2.ivf"
if [ "$(aom_config_option_enabled CONFIG_MULTI_RES_ENCODING)" = "yes" ]; then
if [ "$(vp8_encode_available)" = "yes" ]; then
if [ "$(aom_encode_available)" = "yes" ]; then
# Param order:
# Input width
# Input height
# Input file path
# Output file names
# Output PSNR
vp8_mre "${YUV_RAW_INPUT_WIDTH}" \
aom_mre "${YUV_RAW_INPUT_WIDTH}" \
"${YUV_RAW_INPUT_HEIGHT}" \
"${YUV_RAW_INPUT}" \
${output_files} \
@ -71,5 +71,5 @@ vp8_multi_resolution_encoder_three_formats() {
fi
}
vp8_mre_tests="vp8_multi_resolution_encoder_three_formats"
run_tests vp8_multi_resolution_encoder_verify_environment "${vp8_mre_tests}"
aom_mre_tests="aom_multi_resolution_encoder_three_formats"
run_tests aom_multi_resolution_encoder_verify_environment "${aom_mre_tests}"

Просмотреть файл

@ -68,99 +68,99 @@ files_exist() {
done
}
# Run aom_temporal_svc_encoder in all supported modes for vp8 and vp9.
# Run aom_temporal_svc_encoder in all supported modes for aom and vp9.
aom_tsvc_encoder_vp8_mode_0() {
if [ "$(vp8_encode_available)" = "yes" ]; then
aom_tsvc_encoder vp8 "${FUNCNAME}" 0 200 || return 1
aom_tsvc_encoder_aom_mode_0() {
if [ "$(aom_encode_available)" = "yes" ]; then
aom_tsvc_encoder aom "${FUNCNAME}" 0 200 || return 1
# Mode 0 produces 1 stream
files_exist "${FUNCNAME}" 1 || return 1
fi
}
aom_tsvc_encoder_vp8_mode_1() {
if [ "$(vp8_encode_available)" = "yes" ]; then
aom_tsvc_encoder vp8 "${FUNCNAME}" 1 200 400 || return 1
aom_tsvc_encoder_aom_mode_1() {
if [ "$(aom_encode_available)" = "yes" ]; then
aom_tsvc_encoder aom "${FUNCNAME}" 1 200 400 || return 1
# Mode 1 produces 2 streams
files_exist "${FUNCNAME}" 2 || return 1
fi
}
aom_tsvc_encoder_vp8_mode_2() {
if [ "$(vp8_encode_available)" = "yes" ]; then
aom_tsvc_encoder vp8 "${FUNCNAME}" 2 200 400 || return 1
aom_tsvc_encoder_aom_mode_2() {
if [ "$(aom_encode_available)" = "yes" ]; then
aom_tsvc_encoder aom "${FUNCNAME}" 2 200 400 || return 1
# Mode 2 produces 2 streams
files_exist "${FUNCNAME}" 2 || return 1
fi
}
aom_tsvc_encoder_vp8_mode_3() {
if [ "$(vp8_encode_available)" = "yes" ]; then
aom_tsvc_encoder vp8 "${FUNCNAME}" 3 200 400 600 || return 1
aom_tsvc_encoder_aom_mode_3() {
if [ "$(aom_encode_available)" = "yes" ]; then
aom_tsvc_encoder aom "${FUNCNAME}" 3 200 400 600 || return 1
# Mode 3 produces 3 streams
files_exist "${FUNCNAME}" 3 || return 1
fi
}
aom_tsvc_encoder_vp8_mode_4() {
if [ "$(vp8_encode_available)" = "yes" ]; then
aom_tsvc_encoder vp8 "${FUNCNAME}" 4 200 400 600 || return 1
aom_tsvc_encoder_aom_mode_4() {
if [ "$(aom_encode_available)" = "yes" ]; then
aom_tsvc_encoder aom "${FUNCNAME}" 4 200 400 600 || return 1
# Mode 4 produces 3 streams
files_exist "${FUNCNAME}" 3 || return 1
fi
}
aom_tsvc_encoder_vp8_mode_5() {
if [ "$(vp8_encode_available)" = "yes" ]; then
aom_tsvc_encoder vp8 "${FUNCNAME}" 5 200 400 600 || return 1
aom_tsvc_encoder_aom_mode_5() {
if [ "$(aom_encode_available)" = "yes" ]; then
aom_tsvc_encoder aom "${FUNCNAME}" 5 200 400 600 || return 1
# Mode 5 produces 3 streams
files_exist "${FUNCNAME}" 3 || return 1
fi
}
aom_tsvc_encoder_vp8_mode_6() {
if [ "$(vp8_encode_available)" = "yes" ]; then
aom_tsvc_encoder vp8 "${FUNCNAME}" 6 200 400 600 || return 1
aom_tsvc_encoder_aom_mode_6() {
if [ "$(aom_encode_available)" = "yes" ]; then
aom_tsvc_encoder aom "${FUNCNAME}" 6 200 400 600 || return 1
# Mode 6 produces 3 streams
files_exist "${FUNCNAME}" 3 || return 1
fi
}
aom_tsvc_encoder_vp8_mode_7() {
if [ "$(vp8_encode_available)" = "yes" ]; then
aom_tsvc_encoder vp8 "${FUNCNAME}" 7 200 400 600 800 1000 || return 1
aom_tsvc_encoder_aom_mode_7() {
if [ "$(aom_encode_available)" = "yes" ]; then
aom_tsvc_encoder aom "${FUNCNAME}" 7 200 400 600 800 1000 || return 1
# Mode 7 produces 5 streams
files_exist "${FUNCNAME}" 5 || return 1
fi
}
aom_tsvc_encoder_vp8_mode_8() {
if [ "$(vp8_encode_available)" = "yes" ]; then
aom_tsvc_encoder vp8 "${FUNCNAME}" 8 200 400 || return 1
aom_tsvc_encoder_aom_mode_8() {
if [ "$(aom_encode_available)" = "yes" ]; then
aom_tsvc_encoder aom "${FUNCNAME}" 8 200 400 || return 1
# Mode 8 produces 2 streams
files_exist "${FUNCNAME}" 2 || return 1
fi
}
aom_tsvc_encoder_vp8_mode_9() {
if [ "$(vp8_encode_available)" = "yes" ]; then
aom_tsvc_encoder vp8 "${FUNCNAME}" 9 200 400 600 || return 1
aom_tsvc_encoder_aom_mode_9() {
if [ "$(aom_encode_available)" = "yes" ]; then
aom_tsvc_encoder aom "${FUNCNAME}" 9 200 400 600 || return 1
# Mode 9 produces 3 streams
files_exist "${FUNCNAME}" 3 || return 1
fi
}
aom_tsvc_encoder_vp8_mode_10() {
if [ "$(vp8_encode_available)" = "yes" ]; then
aom_tsvc_encoder vp8 "${FUNCNAME}" 10 200 400 600 || return 1
aom_tsvc_encoder_aom_mode_10() {
if [ "$(aom_encode_available)" = "yes" ]; then
aom_tsvc_encoder aom "${FUNCNAME}" 10 200 400 600 || return 1
# Mode 10 produces 3 streams
files_exist "${FUNCNAME}" 3 || return 1
fi
}
aom_tsvc_encoder_vp8_mode_11() {
if [ "$(vp8_encode_available)" = "yes" ]; then
aom_tsvc_encoder vp8 "${FUNCNAME}" 11 200 400 600 || return 1
aom_tsvc_encoder_aom_mode_11() {
if [ "$(aom_encode_available)" = "yes" ]; then
aom_tsvc_encoder aom "${FUNCNAME}" 11 200 400 600 || return 1
# Mode 11 produces 3 streams
files_exist "${FUNCNAME}" 3 || return 1
fi
@ -262,18 +262,18 @@ aom_tsvc_encoder_vp9_mode_11() {
fi
}
aom_tsvc_encoder_tests="aom_tsvc_encoder_vp8_mode_0
aom_tsvc_encoder_vp8_mode_1
aom_tsvc_encoder_vp8_mode_2
aom_tsvc_encoder_vp8_mode_3
aom_tsvc_encoder_vp8_mode_4
aom_tsvc_encoder_vp8_mode_5
aom_tsvc_encoder_vp8_mode_6
aom_tsvc_encoder_vp8_mode_7
aom_tsvc_encoder_vp8_mode_8
aom_tsvc_encoder_vp8_mode_9
aom_tsvc_encoder_vp8_mode_10
aom_tsvc_encoder_vp8_mode_11
aom_tsvc_encoder_tests="aom_tsvc_encoder_aom_mode_0
aom_tsvc_encoder_aom_mode_1
aom_tsvc_encoder_aom_mode_2
aom_tsvc_encoder_aom_mode_3
aom_tsvc_encoder_aom_mode_4
aom_tsvc_encoder_aom_mode_5
aom_tsvc_encoder_aom_mode_6
aom_tsvc_encoder_aom_mode_7
aom_tsvc_encoder_aom_mode_8
aom_tsvc_encoder_aom_mode_9
aom_tsvc_encoder_aom_mode_10
aom_tsvc_encoder_aom_mode_11
aom_tsvc_encoder_vp9_mode_0
aom_tsvc_encoder_vp9_mode_1
aom_tsvc_encoder_vp9_mode_2

Просмотреть файл

@ -8,30 +8,30 @@
## in the file PATENTS. All contributing project authors may
## be found in the AUTHORS file in the root of the source tree.
##
## This file tests the libaom vp8cx_set_ref example. To add new tests to this
## This file tests the libaom aomcx_set_ref example. To add new tests to this
## file, do the following:
## 1. Write a shell function (this is your test).
## 2. Add the function to vp8cx_set_ref_tests (on a new line).
## 2. Add the function to aomcx_set_ref_tests (on a new line).
##
. $(dirname $0)/tools_common.sh
# Environment check: $YUV_RAW_INPUT is required.
vp8cx_set_ref_verify_environment() {
aomcx_set_ref_verify_environment() {
if [ ! -e "${YUV_RAW_INPUT}" ]; then
echo "Libaom test data must exist in LIBAOM_TEST_DATA_PATH."
return 1
fi
}
# Runs vp8cx_set_ref and updates the reference frame before encoding frame 90.
# $1 is the codec name, which vp8cx_set_ref does not support at present: It's
# Runs aomcx_set_ref and updates the reference frame before encoding frame 90.
# $1 is the codec name, which aomcx_set_ref does not support at present: It's
# currently used only to name the output file.
# TODO(tomfinegan): Pass the codec param once the example is updated to support
# AV1.
aom_set_ref() {
local encoder="${LIBAOM_BIN_PATH}/vp8cx_set_ref${AOM_TEST_EXE_SUFFIX}"
local encoder="${LIBAOM_BIN_PATH}/aomcx_set_ref${AOM_TEST_EXE_SUFFIX}"
local codec="$1"
local output_file="${AOM_TEST_OUTPUT_DIR}/vp8cx_set_ref_${codec}.ivf"
local output_file="${AOM_TEST_OUTPUT_DIR}/aomcx_set_ref_${codec}.ivf"
local ref_frame_num=90
if [ ! -x "${encoder}" ]; then
@ -46,12 +46,12 @@ aom_set_ref() {
[ -e "${output_file}" ] || return 1
}
vp8cx_set_ref_vp8() {
if [ "$(vp8_encode_available)" = "yes" ]; then
aom_set_ref vp8 || return 1
aomcx_set_ref_aom() {
if [ "$(aom_encode_available)" = "yes" ]; then
aom_set_ref aom || return 1
fi
}
vp8cx_set_ref_tests="vp8cx_set_ref_vp8"
aomcx_set_ref_tests="aomcx_set_ref_aom"
run_tests vp8cx_set_ref_verify_environment "${vp8cx_set_ref_tests}"
run_tests aomcx_set_ref_verify_environment "${aomcx_set_ref_tests}"

Просмотреть файл

@ -49,8 +49,8 @@ aomdec() {
eval "${AOM_TEST_PREFIX}" "${decoder}" "$input" "$@" ${devnull}
}
aomdec_can_decode_vp8() {
if [ "$(vp8_decode_available)" = "yes" ]; then
aomdec_can_decode_aom() {
if [ "$(aom_decode_available)" = "yes" ]; then
echo yes
fi
}
@ -61,14 +61,14 @@ aomdec_can_decode_vp9() {
fi
}
aomdec_vp8_ivf() {
if [ "$(aomdec_can_decode_vp8)" = "yes" ]; then
aomdec_aom_ivf() {
if [ "$(aomdec_can_decode_aom)" = "yes" ]; then
aomdec "${AOM_IVF_FILE}" --summary --noblit
fi
}
aomdec_vp8_ivf_pipe_input() {
if [ "$(aomdec_can_decode_vp8)" = "yes" ]; then
aomdec_aom_ivf_pipe_input() {
if [ "$(aomdec_can_decode_aom)" = "yes" ]; then
aomdec_pipe "${AOM_IVF_FILE}" --summary --noblit
fi
}
@ -107,8 +107,8 @@ aomdec_vp9_webm_less_than_50_frames() {
fi
}
aomdec_tests="aomdec_vp8_ivf
aomdec_vp8_ivf_pipe_input
aomdec_tests="aomdec_aom_ivf
aomdec_aom_ivf_pipe_input
aomdec_vp9_webm
aomdec_vp9_webm_frame_parallel
aomdec_vp9_webm_less_than_50_frames"

Просмотреть файл

@ -36,8 +36,8 @@ aomenc_verify_environment() {
fi
}
aomenc_can_encode_vp8() {
if [ "$(vp8_encode_available)" = "yes" ]; then
aomenc_can_encode_aom() {
if [ "$(aom_encode_available)" = "yes" ]; then
echo yes
fi
}
@ -65,9 +65,9 @@ y4m_input_720p() {
}
# Echo default aomenc real time encoding params. $1 is the codec, which defaults
# to vp8 if unspecified.
# to aom if unspecified.
aomenc_rt_params() {
local readonly codec="${1:-vp8}"
local readonly codec="${1:-aom}"
echo "--codec=${codec}
--buf-initial-sz=500
--buf-optimal-sz=600
@ -115,11 +115,11 @@ aomenc() {
"$@" ${devnull}
}
aomenc_vp8_ivf() {
if [ "$(aomenc_can_encode_vp8)" = "yes" ]; then
local readonly output="${AOM_TEST_OUTPUT_DIR}/vp8.ivf"
aomenc_aom_ivf() {
if [ "$(aomenc_can_encode_aom)" = "yes" ]; then
local readonly output="${AOM_TEST_OUTPUT_DIR}/aom.ivf"
aomenc $(yuv_input_hantro_collage) \
--codec=vp8 \
--codec=aom \
--limit="${TEST_FRAMES}" \
--ivf \
--output="${output}"
@ -131,12 +131,12 @@ aomenc_vp8_ivf() {
fi
}
aomenc_vp8_webm() {
if [ "$(aomenc_can_encode_vp8)" = "yes" ] && \
aomenc_aom_webm() {
if [ "$(aomenc_can_encode_aom)" = "yes" ] && \
[ "$(webm_io_available)" = "yes" ]; then
local readonly output="${AOM_TEST_OUTPUT_DIR}/vp8.webm"
local readonly output="${AOM_TEST_OUTPUT_DIR}/aom.webm"
aomenc $(yuv_input_hantro_collage) \
--codec=vp8 \
--codec=aom \
--limit="${TEST_FRAMES}" \
--output="${output}"
@ -147,12 +147,12 @@ aomenc_vp8_webm() {
fi
}
aomenc_vp8_webm_rt() {
if [ "$(aomenc_can_encode_vp8)" = "yes" ] && \
aomenc_aom_webm_rt() {
if [ "$(aomenc_can_encode_aom)" = "yes" ] && \
[ "$(webm_io_available)" = "yes" ]; then
local readonly output="${AOM_TEST_OUTPUT_DIR}/vp8_rt.webm"
local readonly output="${AOM_TEST_OUTPUT_DIR}/aom_rt.webm"
aomenc $(yuv_input_hantro_collage) \
$(aomenc_rt_params vp8) \
$(aomenc_rt_params aom) \
--output="${output}"
if [ ! -e "${output}" ]; then
elog "Output file does not exist."
@ -161,12 +161,12 @@ aomenc_vp8_webm_rt() {
fi
}
aomenc_vp8_webm_2pass() {
if [ "$(aomenc_can_encode_vp8)" = "yes" ] && \
aomenc_aom_webm_2pass() {
if [ "$(aomenc_can_encode_aom)" = "yes" ] && \
[ "$(webm_io_available)" = "yes" ]; then
local readonly output="${AOM_TEST_OUTPUT_DIR}/vp8.webm"
local readonly output="${AOM_TEST_OUTPUT_DIR}/aom.webm"
aomenc $(yuv_input_hantro_collage) \
--codec=vp8 \
--codec=aom \
--limit="${TEST_FRAMES}" \
--output="${output}" \
--passes=2
@ -178,14 +178,14 @@ aomenc_vp8_webm_2pass() {
fi
}
aomenc_vp8_webm_lag10_frames20() {
if [ "$(aomenc_can_encode_vp8)" = "yes" ] && \
aomenc_aom_webm_lag10_frames20() {
if [ "$(aomenc_can_encode_aom)" = "yes" ] && \
[ "$(webm_io_available)" = "yes" ]; then
local readonly lag_total_frames=20
local readonly lag_frames=10
local readonly output="${AOM_TEST_OUTPUT_DIR}/vp8_lag10_frames20.webm"
local readonly output="${AOM_TEST_OUTPUT_DIR}/aom_lag10_frames20.webm"
aomenc $(yuv_input_hantro_collage) \
--codec=vp8 \
--codec=aom \
--limit="${lag_total_frames}" \
--lag-in-frames="${lag_frames}" \
--output="${output}" \
@ -199,11 +199,11 @@ aomenc_vp8_webm_lag10_frames20() {
fi
}
aomenc_vp8_ivf_piped_input() {
if [ "$(aomenc_can_encode_vp8)" = "yes" ]; then
local readonly output="${AOM_TEST_OUTPUT_DIR}/vp8_piped_input.ivf"
aomenc_aom_ivf_piped_input() {
if [ "$(aomenc_can_encode_aom)" = "yes" ]; then
local readonly output="${AOM_TEST_OUTPUT_DIR}/aom_piped_input.ivf"
aomenc_pipe $(yuv_input_hantro_collage) \
--codec=vp8 \
--codec=aom \
--limit="${TEST_FRAMES}" \
--ivf \
--output="${output}"
@ -409,12 +409,12 @@ aomenc_vp9_webm_non_square_par() {
fi
}
aomenc_tests="aomenc_vp8_ivf
aomenc_vp8_webm
aomenc_vp8_webm_rt
aomenc_vp8_webm_2pass
aomenc_vp8_webm_lag10_frames20
aomenc_vp8_ivf_piped_input
aomenc_tests="aomenc_aom_ivf
aomenc_aom_webm
aomenc_aom_webm_rt
aomenc_aom_webm_2pass
aomenc_aom_webm_lag10_frames20
aomenc_aom_ivf_piped_input
aomenc_vp9_ivf
aomenc_vp9_webm
aomenc_vp9_webm_rt

Просмотреть файл

@ -47,8 +47,8 @@ bool Decoder::IsAOM() const {
void DecoderTest::HandlePeekResult(Decoder *const decoder,
CompressedVideoSource *video,
const aom_codec_err_t res_peek) {
const bool is_vp8 = decoder->IsAOM();
if (is_vp8) {
const bool is_aom = decoder->IsAOM();
if (is_aom) {
/* Vp8's implementation of PeekStream returns an error if the frame you
* pass it is not a keyframe, so we only expect AOM_CODEC_OK on the first
* frame, which must be a keyframe. */

Просмотреть файл

@ -49,12 +49,12 @@ decode_to_md5() {
[ "${actual_md5}" = "${expected_md5}" ] || return 1
}
decode_to_md5_vp8() {
decode_to_md5_aom() {
# expected MD5 sum for the last frame.
local expected_md5="56794d911b02190212bca92f88ad60c6"
if [ "$(vp8_decode_available)" = "yes" ]; then
decode_to_md5 "${AOM_IVF_FILE}" "vp8" "${expected_md5}"
if [ "$(aom_decode_available)" = "yes" ]; then
decode_to_md5 "${AOM_IVF_FILE}" "aom" "${expected_md5}"
fi
}
@ -67,7 +67,7 @@ decode_to_md5_vp9() {
fi
}
decode_to_md5_tests="decode_to_md5_vp8
decode_to_md5_tests="decode_to_md5_aom
decode_to_md5_vp9"
run_tests decode_to_md5_verify_environment "${decode_to_md5_tests}"

Просмотреть файл

@ -49,13 +49,13 @@ decode_with_drops() {
# and once in pattern mode.
# Note: This test assumes that $AOM_IVF_FILE has exactly 29 frames, and could
# break if the file is modified.
decode_with_drops_vp8() {
if [ "$(vp8_decode_available)" = "yes" ]; then
decode_with_drops_aom() {
if [ "$(aom_decode_available)" = "yes" ]; then
# Test sequence mode: Drop frames 2-28.
decode_with_drops "${AOM_IVF_FILE}" "vp8" "2-28"
decode_with_drops "${AOM_IVF_FILE}" "aom" "2-28"
# Test pattern mode: Drop 3 of every 4 frames.
decode_with_drops "${AOM_IVF_FILE}" "vp8" "3/4"
decode_with_drops "${AOM_IVF_FILE}" "aom" "3/4"
fi
}
@ -73,7 +73,7 @@ decode_with_drops_vp9() {
fi
}
decode_with_drops_tests="decode_with_drops_vp8
decode_with_drops_tests="decode_with_drops_aom
decode_with_drops_vp9"
run_tests decode_with_drops_verify_environment "${decode_with_drops_tests}"

Просмотреть файл

@ -9,7 +9,7 @@
*/
#include "./aom_config.h"
#include "./vp8_rtcd.h"
#include "./aom_rtcd.h"
#include "third_party/googletest/src/include/gtest/gtest.h"
@ -109,13 +109,13 @@ TEST_P(IDCTTest, TestWithData) {
EXPECT_EQ(0, output[i]) << "i==" << i;
}
INSTANTIATE_TEST_CASE_P(C, IDCTTest, ::testing::Values(vp8_short_idct4x4llm_c));
INSTANTIATE_TEST_CASE_P(C, IDCTTest, ::testing::Values(aom_short_idct4x4llm_c));
#if HAVE_MMX
INSTANTIATE_TEST_CASE_P(MMX, IDCTTest,
::testing::Values(vp8_short_idct4x4llm_mmx));
::testing::Values(aom_short_idct4x4llm_mmx));
#endif
#if HAVE_MSA
INSTANTIATE_TEST_CASE_P(MSA, IDCTTest,
::testing::Values(vp8_short_idct4x4llm_msa));
::testing::Values(aom_short_idct4x4llm_msa));
#endif
}

Просмотреть файл

@ -41,9 +41,9 @@ set_maps() {
[ -e "${output_file}" ] || return 1
}
set_maps_vp8() {
if [ "$(vp8_encode_available)" = "yes" ]; then
set_maps vp8 || return 1
set_maps_aom() {
if [ "$(aom_encode_available)" = "yes" ]; then
set_maps aom || return 1
fi
}
@ -53,7 +53,7 @@ set_maps_vp9() {
fi
}
set_maps_tests="set_maps_vp8
set_maps_tests="set_maps_aom
set_maps_vp9"
run_tests set_maps_verify_environment "${set_maps_tests}"

Просмотреть файл

@ -43,9 +43,9 @@ simple_decoder() {
[ -e "${output_file}" ] || return 1
}
simple_decoder_vp8() {
if [ "$(vp8_decode_available)" = "yes" ]; then
simple_decoder "${AOM_IVF_FILE}" vp8 || return 1
simple_decoder_aom() {
if [ "$(aom_decode_available)" = "yes" ]; then
simple_decoder "${AOM_IVF_FILE}" aom || return 1
fi
}
@ -55,7 +55,7 @@ simple_decoder_vp9() {
fi
}
simple_decoder_tests="simple_decoder_vp8
simple_decoder_tests="simple_decoder_aom
simple_decoder_vp9"
run_tests simple_decoder_verify_environment "${simple_decoder_tests}"

Просмотреть файл

@ -41,9 +41,9 @@ simple_encoder() {
[ -e "${output_file}" ] || return 1
}
simple_encoder_vp8() {
if [ "$(vp8_encode_available)" = "yes" ]; then
simple_encoder vp8 || return 1
simple_encoder_aom() {
if [ "$(aom_encode_available)" = "yes" ]; then
simple_encoder aom || return 1
fi
}
@ -56,7 +56,7 @@ DISABLED_simple_encoder_vp9() {
fi
}
simple_encoder_tests="simple_encoder_vp8
simple_encoder_tests="simple_encoder_aom
DISABLED_simple_encoder_vp9"
run_tests simple_encoder_verify_environment "${simple_encoder_tests}"

Просмотреть файл

@ -383,7 +383,7 @@ if [ "$(is_windows_target)" = "yes" ]; then
fi
# Variables shared by tests.
AOM_IVF_FILE="${LIBAOM_TEST_DATA_PATH}/vp80-00-comprehensive-001.ivf"
AOM_IVF_FILE="${LIBAOM_TEST_DATA_PATH}/aom0-00-comprehensive-001.ivf"
AV1_IVF_FILE="${LIBAOM_TEST_DATA_PATH}/vp90-2-09-subpixel-00.ivf"
AV1_WEBM_FILE="${LIBAOM_TEST_DATA_PATH}/vp90-2-00-quantizer-00.webm"

Просмотреть файл

@ -41,9 +41,9 @@ twopass_encoder() {
[ -e "${output_file}" ] || return 1
}
twopass_encoder_vp8() {
if [ "$(vp8_encode_available)" = "yes" ]; then
twopass_encoder vp8 || return 1
twopass_encoder_aom() {
if [ "$(aom_encode_available)" = "yes" ]; then
twopass_encoder aom || return 1
fi
}
@ -56,7 +56,7 @@ DISABLED_twopass_encoder_vp9() {
fi
}
twopass_encoder_tests="twopass_encoder_vp8
twopass_encoder_tests="twopass_encoder_aom
DISABLED_twopass_encoder_vp9"
run_tests twopass_encoder_verify_environment "${twopass_encoder_tests}"

Просмотреть файл

@ -109,7 +109,7 @@ static uint32_t variance_ref(const uint8_t *src, const uint8_t *ref, int l2w,
* they calculate the bilinear factors directly instead of using a lookup table
* and therefore upshift xoff and yoff by 1. Only every other calculated value
* is used so the codec version shrinks the table to save space and maintain
* compatibility with vp8.
* compatibility with aom.
*/
static uint32_t subpel_variance_ref(const uint8_t *ref, const uint8_t *src,
int l2w, int l2h, int xoff, int yoff,