Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
Yushin Cho
aom-rav1e
Commits
ec838b76
Commit
ec838b76
authored
Mar 28, 2016
by
Adrian Grange
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Convert "vp8" to "aom"
Change-Id: I0d57cf019d5715d3360736763be0c5afe0bd0de4
parent
80edfa01
Changes
32
Show whitespace changes
Inline
Side-by-side
Showing
32 changed files
with
227 additions
and
227 deletions
+227
-227
.gitignore
.gitignore
+3
-3
CHANGELOG
CHANGELOG
+9
-9
aom/aom.h
aom/aom.h
+10
-10
aom/aomcx.h
aom/aomcx.h
+6
-6
aom/aomdx.h
aom/aomdx.h
+6
-6
aom_dsp/arm/loopfilter_16_neon.c
aom_dsp/arm/loopfilter_16_neon.c
+3
-3
aom_dsp/arm/loopfilter_4_neon.asm
aom_dsp/arm/loopfilter_4_neon.asm
+2
-2
aom_dsp/arm/loopfilter_8_neon.asm
aom_dsp/arm/loopfilter_8_neon.asm
+1
-1
aom_dsp/intrapred.c
aom_dsp/intrapred.c
+3
-3
aom_dsp/mips/loopfilter_filters_dspr2.h
aom_dsp/mips/loopfilter_filters_dspr2.h
+16
-16
aom_dsp/variance.h
aom_dsp/variance.h
+1
-1
av1/av1_cx_iface.c
av1/av1_cx_iface.c
+1
-1
av1/av1_dx_iface.c
av1/av1_dx_iface.c
+2
-2
examples/aom_temporal_svc_encoder.c
examples/aom_temporal_svc_encoder.c
+6
-6
examples/simple_decoder.c
examples/simple_decoder.c
+1
-1
examples/simple_encoder.c
examples/simple_encoder.c
+1
-1
mainpage.dox
mainpage.dox
+4
-4
test/aom_multi_resolution_encoder.sh
test/aom_multi_resolution_encoder.sh
+16
-16
test/aom_temporal_svc_encoder.sh
test/aom_temporal_svc_encoder.sh
+49
-49
test/aomcx_set_ref.sh
test/aomcx_set_ref.sh
+12
-12
test/aomdec.sh
test/aomdec.sh
+8
-8
test/aomenc.sh
test/aomenc.sh
+34
-34
test/decode_test_driver.cc
test/decode_test_driver.cc
+2
-2
test/decode_to_md5.sh
test/decode_to_md5.sh
+4
-4
test/decode_with_drops.sh
test/decode_with_drops.sh
+5
-5
test/idct_test.cc
test/idct_test.cc
+4
-4
test/set_maps.sh
test/set_maps.sh
+4
-4
test/simple_decoder.sh
test/simple_decoder.sh
+4
-4
test/simple_encoder.sh
test/simple_encoder.sh
+4
-4
test/tools_common.sh
test/tools_common.sh
+1
-1
test/twopass_encoder.sh
test/twopass_encoder.sh
+4
-4
test/variance_test.cc
test/variance_test.cc
+1
-1
No files found.
.gitignore
View file @
ec838b76
...
...
@@ -35,8 +35,8 @@
/examples/simple_decoder
/examples/simple_encoder
/examples/twopass_encoder
/examples/
vp8
_multi_resolution_encoder
/examples/
vp8
cx_set_ref
/examples/
aom
_multi_resolution_encoder
/examples/
aom
cx_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
...
...
CHANGELOG
View file @
ec838b76
...
...
@@ -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
vp8
e_get_preview fixed when spatial resampling enabled
aom
e_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
...
...
aom/aom.h
View file @
ec838b76
...
...
@@ -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"
...
...
aom/aomcx.h
View file @
ec838b76
...
...
@@ -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
vp8
e_enc_control_id
{
enum
aom
e_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
}
vp8
e_token_partitions
;
}
aom
e_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
)
/*
vp8
e_token_partitions */
AOM_CTRL_USE_TYPE
(
AOME_SET_TOKEN_PARTITIONS
,
int
)
/*
aom
e_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
...
...
aom/aomdx.h
View file @
ec838b76
...
...
@@ -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"
...
...
aom_dsp/arm/loopfilter_16_neon.c
View file @
ec838b76
...
...
@@ -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
);
...
...
aom_dsp/arm/loopfilter_4_neon.asm
View file @
ec838b76
...
...
@@ -14,7 +14,7 @@
AREA
||
.text
||
,
CODE
,
READONLY
,
AL
IGN
=
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.
...
...
aom_dsp/arm/loopfilter_8_neon.asm
View file @
ec838b76
...
...
@@ -14,7 +14,7 @@
AREA
||
.text
||
,
CODE
,
READONLY
,
AL
IGN
=
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.
...
...
aom_dsp/intrapred.c
View file @
ec838b76
...
...
@@ -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
,
...
...
aom_dsp/mips/loopfilter_filters_dspr2.h
View file @
ec838b76
...
...
@@ -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
"
...
...
aom_dsp/variance.h
View file @
ec838b76
...
...
@@ -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
,
...
...
av1/av1_cx_iface.c
View file @
ec838b76
...
...
@@ -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
;
...
...
av1/av1_dx_iface.c
View file @
ec838b76
...
...
@@ -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
;
...
...
examples/aom_temporal_svc_encoder.c
View file @
ec838b76
...
...
@@ -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
);
}
...
...
examples/simple_decoder.c
View file @
ec838b76
...
...
@@ -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
// ----------------------
...
...
examples/simple_encoder.c
View file @
ec838b76
...
...
@@ -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
// ---------------------------------
...
...
mainpage.dox
View file @
ec838b76
...
...
@@ -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
...
...
test/aom_multi_resolution_encoder.sh
View file @
ec838b76
...
...
@@ -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
${