Commit ec838b76 authored by Adrian Grange's avatar Adrian Grange

Convert "vp8" to "aom"

Change-Id: I0d57cf019d5715d3360736763be0c5afe0bd0de4
parent 80edfa01
...@@ -35,8 +35,8 @@ ...@@ -35,8 +35,8 @@
/examples/simple_decoder /examples/simple_decoder
/examples/simple_encoder /examples/simple_encoder
/examples/twopass_encoder /examples/twopass_encoder
/examples/vp8_multi_resolution_encoder /examples/aom_multi_resolution_encoder
/examples/vp8cx_set_ref /examples/aomcx_set_ref
/examples/vp9_lossless_encoder /examples/vp9_lossless_encoder
/examples/vp9_spatial_scalable_encoder /examples/vp9_spatial_scalable_encoder
/examples/aom_temporal_scalable_patterns /examples/aom_temporal_scalable_patterns
...@@ -50,7 +50,7 @@ ...@@ -50,7 +50,7 @@
/samples.dox /samples.dox
/test_intra_pred_speed /test_intra_pred_speed
/test_libaom /test_libaom
/vp8_api1_migration.dox /aom_api1_migration.dox
/vp[89x]_rtcd.h /vp[89x]_rtcd.h
/aom.pc /aom.pc
/aom_config.c /aom_config.c
......
...@@ -304,7 +304,7 @@ ...@@ -304,7 +304,7 @@
aomenc: add rate histogram display aomenc: add rate histogram display
Set AOM_FRAME_IS_DROPPABLE Set AOM_FRAME_IS_DROPPABLE
update configure for ios sdk 4.3 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. Generate a aom.pc file for pkg-config.
New ways of passing encoded data between encoder and decoder. New ways of passing encoded data between encoder and decoder.
...@@ -333,7 +333,7 @@ ...@@ -333,7 +333,7 @@
disable trellis optimization for first pass disable trellis optimization for first pass
Write SSSE3 sub-pixel filter function Write SSSE3 sub-pixel filter function
Improve SSE2 half-pixel filter funtions Improve SSE2 half-pixel filter funtions
Add vp8_sub_pixel_variance16x8_ssse3 function Add aom_sub_pixel_variance16x8_ssse3 function
Reduce unnecessary distortion computation Reduce unnecessary distortion computation
Use diamond search to replace full search Use diamond search to replace full search
Preload reference area in sub-pixel motion search (real-time mode) Preload reference area in sub-pixel motion search (real-time mode)
...@@ -399,7 +399,7 @@ ...@@ -399,7 +399,7 @@
FDCT optimizations. FDCT optimizations.
x86 sse2 temporal filter x86 sse2 temporal filter
SSSE3 version of fast quantizer SSSE3 version of fast quantizer
vp8_rd_pick_best_mbsegmentation code restructure aom_rd_pick_best_mbsegmentation code restructure
Adjusted breakout RD for SPLITMV Adjusted breakout RD for SPLITMV
Changed segmentation check order Changed segmentation check order
Improved rd_pick_intra4x4block Improved rd_pick_intra4x4block
...@@ -408,7 +408,7 @@ ...@@ -408,7 +408,7 @@
ARMv6 optimized half pixel variance calculations ARMv6 optimized half pixel variance calculations
Full search SAD function optimization in SSE4.1 Full search SAD function optimization in SSE4.1
Improve MV prediction accuracy to achieve performance gain 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: - Quality:
Best quality mode improved PSNR 6.3%, and SSIM 6.1%. This release Best quality mode improved PSNR 6.3%, and SSIM 6.1%. This release
...@@ -439,7 +439,7 @@ ...@@ -439,7 +439,7 @@
Fix ARM encoder crash with multiple token partitions Fix ARM encoder crash with multiple token partitions
Fixed bug first cluster timecode of webm file is wrong. Fixed bug first cluster timecode of webm file is wrong.
Fixed various encoder bugs with odd-sized images 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 quantizer: fix assertion in fast quantizer path
Allocate source buffers to be multiples of 16 Allocate source buffers to be multiples of 16
Fix for manual Golden frame frequency Fix for manual Golden frame frequency
...@@ -517,13 +517,13 @@ ...@@ -517,13 +517,13 @@
Improve handling of invalid frames Improve handling of invalid frames
Fix valgrind errors in the NEON loop filters. Fix valgrind errors in the NEON loop filters.
Fix loopfilter delta zero transitions 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 Build fixes for darwin-icc
- Speed: - Speed:
20-40% (average 28%) improvement in libaom decoder speed, 20-40% (average 28%) improvement in libaom decoder speed,
including: including:
Rewrite vp8_short_walsh4x4_sse2() Rewrite aom_short_walsh4x4_sse2()
Optimizations on the loopfilters. Optimizations on the loopfilters.
Miscellaneous improvements for Atom Miscellaneous improvements for Atom
Add 4-tap version of 2nd-pass ARMv6 MC filter. Add 4-tap version of 2nd-pass ARMv6 MC filter.
...@@ -539,8 +539,8 @@ ...@@ -539,8 +539,8 @@
Encoder speed improvements (percentage gain not measured): Encoder speed improvements (percentage gain not measured):
Skip unnecessary search of identical frames Skip unnecessary search of identical frames
Add SSE2 subtract functions Add SSE2 subtract functions
Improve bounds checking in vp8_diamond_search_sadx4() Improve bounds checking in aom_diamond_search_sadx4()
Added vp8_fast_quantize_b_sse2 Added aom_fast_quantize_b_sse2
- Quality: - Quality:
Over 7% overall PSNR improvement (6.3% SSIM) in "best" quality Over 7% overall PSNR improvement (6.3% SSIM) in "best" quality
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
* PATENTS file, you can obtain it at www.aomedia.org/license/patent. * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
*/ */
/*!\defgroup vp8 AOM /*!\defgroup aom AOM
* \ingroup codecs * \ingroup codecs
* AOM is aom's newest video compression algorithm that uses motion * AOM is aom's newest video compression algorithm that uses motion
* compensated prediction, Discrete Cosine Transform (DCT) coding of the * compensated prediction, Discrete Cosine Transform (DCT) coding of the
...@@ -42,7 +42,7 @@ extern "C" { ...@@ -42,7 +42,7 @@ extern "C" {
* *
* The set of macros define the control functions of AOM interface * The set of macros define the control functions of AOM interface
*/ */
enum vp8_com_control_id { enum aom_com_control_id {
AOM_SET_REFERENCE = AOM_SET_REFERENCE =
1, /**< pass in an external frame into decoder to be used as reference 1, /**< pass in an external frame into decoder to be used as reference
frame */ frame */
...@@ -67,7 +67,7 @@ enum vp8_com_control_id { ...@@ -67,7 +67,7 @@ enum vp8_com_control_id {
* *
* The set of macros define AOM decoder post processing flags * The set of macros define AOM decoder post processing flags
*/ */
enum vp8_postproc_level { enum aom_postproc_level {
AOM_NOFILTERING = 0, AOM_NOFILTERING = 0,
AOM_DEBLOCK = 1 << 0, AOM_DEBLOCK = 1 << 0,
AOM_DEMACROBLOCK = 1 << 1, AOM_DEMACROBLOCK = 1 << 1,
...@@ -87,12 +87,12 @@ enum vp8_postproc_level { ...@@ -87,12 +87,12 @@ enum vp8_postproc_level {
* to AOM_DEBLOCK and deblocking_level to 1. * 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 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 deblocking_level; /**< the strength of deblocking, valid range [0, 16] */
int noise_level; /**< the strength of additive noise, 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 /*!\brief reference frame type
* *
...@@ -106,7 +106,7 @@ typedef enum aom_ref_frame_type { ...@@ -106,7 +106,7 @@ typedef enum aom_ref_frame_type {
/*!\brief reference frame data struct /*!\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 { typedef struct aom_ref_frame {
aom_ref_frame_type_t frame_type; /**< which reference frame */ aom_ref_frame_type_t frame_type; /**< which reference frame */
...@@ -123,7 +123,7 @@ typedef struct vp9_ref_frame { ...@@ -123,7 +123,7 @@ typedef struct vp9_ref_frame {
} vp9_ref_frame_t; } vp9_ref_frame_t;
/*!\cond */ /*!\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 * 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 *) ...@@ -131,7 +131,7 @@ AOM_CTRL_USE_TYPE(AOM_SET_REFERENCE, aom_ref_frame_t *)
#define AOM_CTRL_AOM_SET_REFERENCE #define AOM_CTRL_AOM_SET_REFERENCE
AOM_CTRL_USE_TYPE(AOM_COPY_REFERENCE, aom_ref_frame_t *) AOM_CTRL_USE_TYPE(AOM_COPY_REFERENCE, aom_ref_frame_t *)
#define AOM_CTRL_AOM_COPY_REFERENCE #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 #define AOM_CTRL_AOM_SET_POSTPROC
AOM_CTRL_USE_TYPE(AOM_SET_DBG_COLOR_REF_FRAME, int) AOM_CTRL_USE_TYPE(AOM_SET_DBG_COLOR_REF_FRAME, int)
#define AOM_CTRL_AOM_SET_DBG_COLOR_REF_FRAME #define AOM_CTRL_AOM_SET_DBG_COLOR_REF_FRAME
...@@ -145,7 +145,7 @@ AOM_CTRL_USE_TYPE(AV1_GET_REFERENCE, vp9_ref_frame_t *) ...@@ -145,7 +145,7 @@ AOM_CTRL_USE_TYPE(AV1_GET_REFERENCE, vp9_ref_frame_t *)
#define AOM_CTRL_AV1_GET_REFERENCE #define AOM_CTRL_AV1_GET_REFERENCE
/*!\endcond */ /*!\endcond */
/*! @} - end defgroup vp8 */ /*! @} - end defgroup aom */
#ifdef __cplusplus #ifdef __cplusplus
} // extern "C" } // extern "C"
......
...@@ -11,8 +11,8 @@ ...@@ -11,8 +11,8 @@
#ifndef AOM_AOMCX_H_ #ifndef AOM_AOMCX_H_
#define AOM_AOMCX_H_ #define AOM_AOMCX_H_
/*!\defgroup vp8_encoder WebM AOM/AV1 Encoder /*!\defgroup aom_encoder WebM AOM/AV1 Encoder
* \ingroup vp8 * \ingroup aom
* *
* @{ * @{
*/ */
...@@ -114,7 +114,7 @@ extern aom_codec_iface_t *aom_codec_av1_cx(void); ...@@ -114,7 +114,7 @@ extern aom_codec_iface_t *aom_codec_av1_cx(void);
* *
* \sa #aom_codec_control * \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. /*!\brief Codec control function to pass an ROI map to encoder.
* *
* Supported in codecs: AOM, AV1 * Supported in codecs: AOM, AV1
...@@ -667,7 +667,7 @@ typedef enum { ...@@ -667,7 +667,7 @@ typedef enum {
AOM_TWO_TOKENPARTITION = 1, AOM_TWO_TOKENPARTITION = 1,
AOM_FOUR_TOKENPARTITION = 2, AOM_FOUR_TOKENPARTITION = 2,
AOM_EIGHT_TOKENPARTITION = 3 AOM_EIGHT_TOKENPARTITION = 3
} vp8e_token_partitions; } aome_token_partitions;
/*!brief AV1 encoder content type */ /*!brief AV1 encoder content type */
typedef enum { typedef enum {
...@@ -748,7 +748,7 @@ AOM_CTRL_USE_TYPE(AOME_SET_SHARPNESS, unsigned int) ...@@ -748,7 +748,7 @@ AOM_CTRL_USE_TYPE(AOME_SET_SHARPNESS, unsigned int)
#define AOM_CTRL_AOME_SET_SHARPNESS #define AOM_CTRL_AOME_SET_SHARPNESS
AOM_CTRL_USE_TYPE(AOME_SET_STATIC_THRESHOLD, unsigned int) AOM_CTRL_USE_TYPE(AOME_SET_STATIC_THRESHOLD, unsigned int)
#define AOM_CTRL_AOME_SET_STATIC_THRESHOLD #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 #define AOM_CTRL_AOME_SET_TOKEN_PARTITIONS
AOM_CTRL_USE_TYPE(AOME_SET_ARNR_MAXFRAMES, unsigned int) AOM_CTRL_USE_TYPE(AOME_SET_ARNR_MAXFRAMES, unsigned int)
...@@ -836,7 +836,7 @@ AOM_CTRL_USE_TYPE(AV1E_SET_RENDER_SIZE, int *) ...@@ -836,7 +836,7 @@ AOM_CTRL_USE_TYPE(AV1E_SET_RENDER_SIZE, int *)
#define AOM_CTRL_AV1E_SET_RENDER_SIZE #define AOM_CTRL_AV1E_SET_RENDER_SIZE
/*!\endcond */ /*!\endcond */
/*! @} - end defgroup vp8_encoder */ /*! @} - end defgroup aom_encoder */
#ifdef __cplusplus #ifdef __cplusplus
} // extern "C" } // extern "C"
#endif #endif
......
...@@ -9,8 +9,8 @@ ...@@ -9,8 +9,8 @@
* PATENTS file, you can obtain it at www.aomedia.org/license/patent. * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
*/ */
/*!\defgroup vp8_decoder WebM AOM/AV1 Decoder /*!\defgroup aom_decoder WebM AOM/AV1 Decoder
* \ingroup vp8 * \ingroup aom
* *
* @{ * @{
*/ */
...@@ -37,7 +37,7 @@ extern aom_codec_iface_t aom_codec_av1_dx_algo; ...@@ -37,7 +37,7 @@ extern aom_codec_iface_t aom_codec_av1_dx_algo;
extern aom_codec_iface_t *aom_codec_av1_dx(void); extern aom_codec_iface_t *aom_codec_av1_dx(void);
/*!@} - end algorithm interface member group*/ /*!@} - end algorithm interface member group*/
/*!\enum vp8_dec_control_id /*!\enum aom_dec_control_id
* \brief AOM decoder control functions * \brief AOM decoder control functions
* *
* This set of macros define the control functions available for the AOM * 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); ...@@ -45,7 +45,7 @@ extern aom_codec_iface_t *aom_codec_av1_dx(void);
* *
* \sa #aom_codec_control * \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 /** control function to get info on which reference frames were updated
* by the last decode * by the last decode
*/ */
...@@ -126,7 +126,7 @@ typedef struct aom_decrypt_init { ...@@ -126,7 +126,7 @@ typedef struct aom_decrypt_init {
/*!\brief A deprecated alias for 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 */ /*!\cond */
/*!\brief AOM decoder control function parameter type /*!\brief AOM decoder control function parameter type
...@@ -156,7 +156,7 @@ AOM_CTRL_USE_TYPE(AV1_INVERT_TILE_DECODE_ORDER, int) ...@@ -156,7 +156,7 @@ AOM_CTRL_USE_TYPE(AV1_INVERT_TILE_DECODE_ORDER, int)
#define AOM_CTRL_AV1_INVERT_TILE_DECODE_ORDER #define AOM_CTRL_AV1_INVERT_TILE_DECODE_ORDER
/*!\endcond */ /*!\endcond */
/*! @} - end defgroup vp8_decoder */ /*! @} - end defgroup aom_decoder */
#ifdef __cplusplus #ifdef __cplusplus
} // extern "C" } // extern "C"
......
...@@ -50,7 +50,7 @@ static INLINE void loop_filter_neon_16(uint8x16_t qblimit, // blimit ...@@ -50,7 +50,7 @@ static INLINE void loop_filter_neon_16(uint8x16_t qblimit, // blimit
q9 = vabdq_u8(q6, q7); q9 = vabdq_u8(q6, q7);
// vp8_hevmask // aom_hevmask
q13u8 = vcgtq_u8(q13u8, qthresh); q13u8 = vcgtq_u8(q13u8, qthresh);
q14u8 = vcgtq_u8(q14u8, qthresh); q14u8 = vcgtq_u8(q14u8, qthresh);
q15u8 = vmaxq_u8(q15u8, q3); q15u8 = vmaxq_u8(q15u8, q3);
...@@ -60,7 +60,7 @@ static INLINE void loop_filter_neon_16(uint8x16_t qblimit, // blimit ...@@ -60,7 +60,7 @@ static INLINE void loop_filter_neon_16(uint8x16_t qblimit, // blimit
q15u8 = vcgeq_u8(qlimit, q15u8); q15u8 = vcgeq_u8(qlimit, q15u8);
// vp8_filter() function // aom_filter() function
// convert to signed // convert to signed
q10 = vdupq_n_u8(0x80); q10 = vdupq_n_u8(0x80);
q8 = veorq_u8(q8, q10); q8 = veorq_u8(q8, q10);
...@@ -95,7 +95,7 @@ static INLINE void loop_filter_neon_16(uint8x16_t qblimit, // blimit ...@@ -95,7 +95,7 @@ static INLINE void loop_filter_neon_16(uint8x16_t qblimit, // blimit
q4 = vdupq_n_u8(3); q4 = vdupq_n_u8(3);
q9 = vdupq_n_u8(4); 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); d2s8 = vqmovn_s16(q2s16);
d3s8 = vqmovn_s16(q11s16); d3s8 = vqmovn_s16(q11s16);
q1s8 = vcombine_s8(d2s8, d3s8); q1s8 = vcombine_s8(d2s8, d3s8);
......
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
AREA ||.text||, CODE, READONLY, ALIGN=2 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. ; works on 16 iterations at a time.
; TODO(fgalligan): See about removing the count code as this function is only ; TODO(fgalligan): See about removing the count code as this function is only
; called with a count of 1. ; called with a count of 1.
...@@ -77,7 +77,7 @@ end_aom_lf_h_edge ...@@ -77,7 +77,7 @@ end_aom_lf_h_edge
pop {pc} pop {pc}
ENDP ; |aom_lpf_horizontal_4_neon| 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. ; works on 16 iterations at a time.
; TODO(fgalligan): See about removing the count code as this function is only ; TODO(fgalligan): See about removing the count code as this function is only
; called with a count of 1. ; called with a count of 1.
......
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
AREA ||.text||, CODE, READONLY, ALIGN=2 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. ; works on 16 iterations at a time.
; TODO(fgalligan): See about removing the count code as this function is only ; TODO(fgalligan): See about removing the count code as this function is only
; called with a count of 1. ; called with a count of 1.
......
...@@ -347,13 +347,13 @@ void aom_d63_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride, ...@@ -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(1, 0) = DST(0, 2) = AVG2(B, C);
DST(2, 0) = DST(1, 2) = AVG2(C, D); DST(2, 0) = DST(1, 2) = AVG2(C, D);
DST(3, 0) = DST(2, 2) = AVG2(D, E); 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(0, 1) = AVG3(A, B, C);
DST(1, 1) = DST(0, 3) = AVG3(B, C, D); DST(1, 1) = DST(0, 3) = AVG3(B, C, D);
DST(2, 1) = DST(1, 3) = AVG3(C, D, E); DST(2, 1) = DST(1, 3) = AVG3(C, D, E);
DST(3, 1) = DST(2, 3) = AVG3(D, E, F); 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, 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, ...@@ -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, 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, 1) = DST(2, 2) = DST(1, 3) = AVG3(E, F, G);
DST(3, 2) = DST(2, 3) = AVG3(F, G, H); 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, 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, ...@@ -73,7 +73,7 @@ static INLINE void filter_dspr2(uint32_t mask, uint32_t hev, uint32_t *ps1,
hev_r = hev_r & HWM; hev_r = hev_r & HWM;
__asm__ __volatile__( __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_l], %[vps1_l], %[vqs1_l] \n\t"
"subq_s.ph %[aom_filter_r], %[vps1_r], %[vqs1_r] \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, ...@@ -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_l], %[aom_filter_l], %[hev_l] \n\t"
"and %[aom_filter_r], %[aom_filter_r], %[hev_r] \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_l], %[aom_filter_l], %[subr_l] \n\t"
"addq_s.ph %[aom_filter_r], %[aom_filter_r], %[subr_r] \n\t" "addq_s.ph %[aom_filter_r], %[aom_filter_r], %[subr_r] \n\t"
"xor %[invhev_l], %[hev_l], %[HWM] \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, ...@@ -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 */ /* save bottom 3 bits so that we round one side +4 and the other +3 */
__asm__ __volatile__( __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_l], %[aom_filter_l], %[t2] \n\t"
"addq_s.ph %[Filter1_r], %[aom_filter_r], %[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_l], %[aom_filter_l], %[t1] \n\t"
"addq_s.ph %[Filter2_r], %[aom_filter_r], %[t1] \n\t" "addq_s.ph %[Filter2_r], %[aom_filter_r], %[t1] \n\t"
"shra.ph %[Filter1_r], %[Filter1_r], 3 \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, ...@@ -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_l], %[Filter1_l], %[HWM] \n\t"
"and %[Filter1_r], %[Filter1_r], %[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_l], %[vps0_l], %[Filter2_l] \n\t"
"addq_s.ph %[vps0_r], %[vps0_r], %[Filter2_r] \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_l], %[vqs0_l], %[Filter1_l] \n\t"
"subq_s.ph %[vqs0_r], %[vqs0_r], %[Filter1_r] \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, ...@@ -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_l], %[Filter1_l], %[invhev_l] \n\t"
"and %[Filter1_r], %[Filter1_r], %[invhev_r] \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_l], %[vps1_l], %[Filter1_l] \n\t"
"addq_s.ph %[vps1_r], %[vps1_r], %[Filter1_r] \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_l], %[vqs1_l], %[Filter1_l] \n\t"
"subq_s.ph %[vqs1_r], %[vqs1_r], %[Filter1_r] \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, ...@@ -240,7 +240,7 @@ static INLINE void filter1_dspr2(uint32_t mask, uint32_t hev, uint32_t ps1,
hev_r = hev_r & HWM; hev_r = hev_r & HWM;
__asm__ __volatile__( __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_l], %[vps1_l], %[vqs1_l] \n\t"
"subq_s.ph %[aom_filter_r], %[vps1_r], %[vqs1_r] \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, ...@@ -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_l], %[aom_filter_l], %[hev_l] \n\t"
"and %[aom_filter_r], %[aom_filter_r], %[hev_r] \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_l], %[aom_filter_l], %[subr_l] \n\t"
"addq_s.ph %[aom_filter_r], %[aom_filter_r], %[subr_r] \n\t" "addq_s.ph %[aom_filter_r], %[aom_filter_r], %[subr_r] \n\t"
"xor %[invhev_l], %[hev_l], %[HWM] \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, ...@@ -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 */ /* save bottom 3 bits so that we round one side +4 and the other +3 */
__asm__ __volatile__( __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_l], %[aom_filter_l], %[t2] \n\t"
"addq_s.ph %[Filter1_r], %[aom_filter_r], %[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_l], %[aom_filter_l], %[t1] \n\t"
"addq_s.ph %[Filter2_r], %[aom_filter_r], %[t1] \n\t" "addq_s.ph %[Filter2_r], %[aom_filter_r], %[t1] \n\t"
"shra.ph %[Filter1_r], %[Filter1_r], 3 \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, ...@@ -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_l], %[Filter1_l], %[HWM] \n\t"
"and %[Filter1_r], %[Filter1_r], %[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_l], %[vps0_l], %[Filter2_l] \n\t"
"addq_s.ph %[vps0_r], %[vps0_r], %[Filter2_r] \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_l], %[vqs0_l], %[Filter1_l] \n\t"
"subq_s.ph %[vqs0_r], %[vqs0_r], %[Filter1_r] \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, ...@@ -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_l], %[Filter1_l], %[invhev_l] \n\t"
"and %[Filter1_r], %[Filter1_r], %[invhev_r] \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_l], %[vps1_l], %[Filter1_l] \n\t"
"addq_s.ph %[vps1_r], %[vps1_r], %[Filter1_r] \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_l], %[vqs1_l], %[Filter1_l] \n\t"
"subq_s.ph %[vqs1_r], %[vqs1_r], %[Filter1_r] \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, ...@@ -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 *b_ptr, int b_stride,
const uint8_t *second_pred); 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); int b_stride, int n);
typedef void (*aom_sad_multi_fn_t)(const uint8_t *a, int a_stride, typedef void (*aom_sad_multi_fn_t)(const uint8_t *a, int a_stride,
......
...@@ -107,7 +107,7 @@ struct aom_codec_alg_priv { ...@@ -107,7 +107,7 @@ struct aom_codec_alg_priv {
#endif #endif
aom_image_t preview_img; aom_image_t preview_img;
aom_enc_frame_flags_t next_frame_flags; 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; aom_codec_pkt_list_decl(256) pkt_list;
unsigned int fixed_kf_cntr; unsigned int fixed_kf_cntr;
aom_codec_priv_output_cx_pkt_cb_pair_t output_cx_pkt_cb; aom_codec_priv_output_cx_pkt_cb_pair_t output_cx_pkt_cb;
......
...@@ -46,7 +46,7 @@ struct aom_codec_alg_priv { ...@@ -46,7 +46,7 @@ struct aom_codec_alg_priv {
aom_codec_dec_cfg_t cfg; aom_codec_dec_cfg_t cfg;
av1_stream_info_t si; av1_stream_info_t si;
int postproc_cfg_set; int postproc_cfg_set;
vp8_postproc_cfg_t postproc_cfg; aom_postproc_cfg_t postproc_cfg;
aom_decrypt_cb decrypt_cb; aom_decrypt_cb decrypt_cb;
void *decrypt_state; void *decrypt_state;
aom_image_t img; aom_image_t img;
...@@ -293,7 +293,7 @@ static void init_buffer_callbacks(aom_codec_alg_priv_t *ctx) { ...@@ -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->post_proc_flag = AOM_DEBLOCK | AOM_DEMACROBLOCK;
cfg->deblocking_level = 4; cfg->deblocking_level = 4;
cfg->noise_level = 0; cfg->noise_level = 0;
......
...@@ -507,13 +507,13 @@ int main(int argc, char **argv) { ...@@ -507,13 +507,13 @@ int main(int argc, char **argv) {
if (argc < min_args) { if (argc < min_args) {
#if CONFIG_AOM_HIGHBITDEPTH #if CONFIG_AOM_HIGHBITDEPTH
die( 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_num> <rate_den> <speed> <frame_drop_threshold> <mode> "
"<Rate_0> ... <Rate_nlayers-1> <bit-depth> \n", "<Rate_0> ... <Rate_nlayers-1> <bit-depth> \n",
argv[0]); argv[0]);