Update LibVPX prebuilt library and headers to git commit 3eb4143fc3381497128d.

The library was built with GCC 4.6.1 and configured like
 ./configure --disable-vp8-encoder --disable-multithread --disable-spatial-resampling

On the aforementioned AMD system, this reduces the mean time for decoding a frame
from 18.2 to 15.4 ms, so IMO it's worth the somewhat hefty addition of 430 Kb.

git-svn-id: https://svn.eduke32.com/eduke32@2831 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
helixhorned 2012-07-13 18:20:52 +00:00
parent 43fe858652
commit 0cb2d3e528
6 changed files with 26 additions and 33 deletions

View File

@ -46,7 +46,7 @@ enum vp8_com_control_id
VP8_SET_DBG_COLOR_B_MODES = 6, /**< set which blocks modes to color */ VP8_SET_DBG_COLOR_B_MODES = 6, /**< set which blocks modes to color */
VP8_SET_DBG_DISPLAY_MV = 7, /**< set which motion vector modes to draw */ VP8_SET_DBG_DISPLAY_MV = 7, /**< set which motion vector modes to draw */
VP8_COMMON_CTRL_ID_MAX, VP8_COMMON_CTRL_ID_MAX,
VP8_DECODER_CTRL_ID_START = 256, VP8_DECODER_CTRL_ID_START = 256
}; };
/*!\brief post process flags /*!\brief post process flags
@ -63,6 +63,7 @@ enum vp8_postproc_level
VP8_DEBUG_TXT_MBLK_MODES = 1<<4, /**< print macro block modes over each macro block */ VP8_DEBUG_TXT_MBLK_MODES = 1<<4, /**< print macro block modes over each macro block */
VP8_DEBUG_TXT_DC_DIFF = 1<<5, /**< print dc diff for each macro block */ VP8_DEBUG_TXT_DC_DIFF = 1<<5, /**< print dc diff for each macro block */
VP8_DEBUG_TXT_RATE_INFO = 1<<6, /**< print video rate info (encoder only) */ VP8_DEBUG_TXT_RATE_INFO = 1<<6, /**< print video rate info (encoder only) */
VP8_MFQE = 1<<10
}; };
/*!\brief post process flags /*!\brief post process flags
@ -118,13 +119,5 @@ VPX_CTRL_USE_TYPE(VP8_SET_DBG_DISPLAY_MV, int)
/*! @} - end defgroup vp8 */ /*! @} - end defgroup vp8 */
#if !defined(VPX_CODEC_DISABLE_COMPAT) || !VPX_CODEC_DISABLE_COMPAT
/* The following definitions are provided for backward compatibility with
* the VP8 1.0.x SDK. USE IN PRODUCTION CODE IS NOT RECOMMENDED.
*/
DECLSPEC_DEPRECATED extern vpx_codec_iface_t vpx_codec_vp8_algo DEPRECATED;
#endif
#include "vpx_codec_impl_bottom.h" #include "vpx_codec_impl_bottom.h"
#endif #endif

View File

@ -55,6 +55,11 @@ enum vp8_dec_control_id
/** check if the indicated frame is corrupted */ /** check if the indicated frame is corrupted */
VP8D_GET_FRAME_CORRUPTED, VP8D_GET_FRAME_CORRUPTED,
/** control function to get info on which reference frames were used
* by the last decode
*/
VP8D_GET_LAST_REF_USED,
VP8_DECODER_CTRL_ID_MAX VP8_DECODER_CTRL_ID_MAX
} ; } ;
@ -69,7 +74,7 @@ enum vp8_dec_control_id
VPX_CTRL_USE_TYPE(VP8D_GET_LAST_REF_UPDATES, int *) VPX_CTRL_USE_TYPE(VP8D_GET_LAST_REF_UPDATES, int *)
VPX_CTRL_USE_TYPE(VP8D_GET_FRAME_CORRUPTED, int *) VPX_CTRL_USE_TYPE(VP8D_GET_FRAME_CORRUPTED, int *)
VPX_CTRL_USE_TYPE(VP8D_GET_LAST_REF_USED, int *)
/*! @} - end defgroup vp8_decoder */ /*! @} - end defgroup vp8_decoder */

View File

@ -55,8 +55,8 @@ extern "C" {
#define VPX_CODEC_CAP_POSTPROC 0x40000 /**< Can postprocess decoded frame */ #define VPX_CODEC_CAP_POSTPROC 0x40000 /**< Can postprocess decoded frame */
#define VPX_CODEC_CAP_ERROR_CONCEALMENT 0x80000 /**< Can conceal errors due to #define VPX_CODEC_CAP_ERROR_CONCEALMENT 0x80000 /**< Can conceal errors due to
packet loss */ packet loss */
#define VPX_CODEC_CAP_INPUT_PARTITION 0x100000 /**< Can receive encoded frames #define VPX_CODEC_CAP_INPUT_FRAGMENTS 0x100000 /**< Can receive encoded frames
one partition at a time */ one fragment at a time */
/*! \brief Initialization-time Feature Enabling /*! \brief Initialization-time Feature Enabling
* *
@ -68,9 +68,9 @@ extern "C" {
#define VPX_CODEC_USE_POSTPROC 0x10000 /**< Postprocess decoded frame */ #define VPX_CODEC_USE_POSTPROC 0x10000 /**< Postprocess decoded frame */
#define VPX_CODEC_USE_ERROR_CONCEALMENT 0x20000 /**< Conceal errors in decoded #define VPX_CODEC_USE_ERROR_CONCEALMENT 0x20000 /**< Conceal errors in decoded
frames */ frames */
#define VPX_CODEC_USE_INPUT_PARTITION 0x40000 /**< The input frame should be #define VPX_CODEC_USE_INPUT_FRAGMENTS 0x40000 /**< The input frame should be
passed to the decoder one passed to the decoder one
partition at a time */ fragment at a time */
/*!\brief Stream properties /*!\brief Stream properties
* *
@ -113,6 +113,10 @@ extern "C" {
* function directly, to ensure that the ABI version number parameter * function directly, to ensure that the ABI version number parameter
* is properly initialized. * is properly initialized.
* *
* If the library was configured with --disable-multithread, this call
* is not thread safe and should be guarded with a lock if being used
* in a multithreaded context.
*
* In XMA mode (activated by setting VPX_CODEC_USE_XMA in the flags * In XMA mode (activated by setting VPX_CODEC_USE_XMA in the flags
* parameter), the storage pointed to by the cfg parameter must be * parameter), the storage pointed to by the cfg parameter must be
* kept readable and stable until all memory maps have been set. * kept readable and stable until all memory maps have been set.
@ -189,11 +193,13 @@ extern "C" {
* generated, as appropriate. Encoded data \ref MUST be passed in DTS (decode * generated, as appropriate. Encoded data \ref MUST be passed in DTS (decode
* time stamp) order. Frames produced will always be in PTS (presentation * time stamp) order. Frames produced will always be in PTS (presentation
* time stamp) order. * time stamp) order.
* If the decoder is configured with VPX_CODEC_USE_INPUT_PARTITION enabled, * If the decoder is configured with VPX_CODEC_USE_INPUT_FRAGMENTS enabled,
* data and data_sz must contain at most one encoded partition. When no more * data and data_sz can contain a fragment of the encoded frame. Fragment
* data is available, this function should be called with NULL as data and 0 * \#n must contain at least partition \#n, but can also contain subsequent
* as data_sz. The memory passed to this function must be available until * partitions (\#n+1 - \#n+i), and if so, fragments \#n+1, .., \#n+i must
* the frame has been decoded. * be empty. When no more data is available, this function should be called
* with NULL as data and 0 as data_sz. The memory passed to this function
* must be available until the frame has been decoded.
* *
* \param[in] ctx Pointer to this instance's context * \param[in] ctx Pointer to this instance's context
* \param[in] data Pointer to this block of new coded data. If * \param[in] data Pointer to this block of new coded data. If
@ -325,7 +331,3 @@ extern "C" {
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#if !defined(VPX_CODEC_DISABLE_COMPAT) || !VPX_CODEC_DISABLE_COMPAT
#include "vpx_decoder_compat.h"
#endif

View File

@ -160,7 +160,8 @@ extern "C" {
* \param[in] fmt Format for the image * \param[in] fmt Format for the image
* \param[in] d_w Width of the image * \param[in] d_w Width of the image
* \param[in] d_h Height of the image * \param[in] d_h Height of the image
* \param[in] align Alignment, in bytes, of each row in the image. * \param[in] align Alignment, in bytes, of the image buffer and
* each row in the image(stride).
* *
* \return Returns a pointer to the initialized image descriptor. If the img * \return Returns a pointer to the initialized image descriptor. If the img
* parameter is non-null, the value of the img parameter will be * parameter is non-null, the value of the img parameter will be

View File

@ -29,16 +29,8 @@ typedef signed __int64 int64_t;
typedef unsigned __int64 uint64_t; typedef unsigned __int64 uint64_t;
#endif #endif
#ifdef HAVE_ARMV6
typedef unsigned int int_fast16_t;
#else
typedef signed short int_fast16_t;
#endif
typedef signed char int_fast8_t;
typedef unsigned char uint_fast8_t;
#ifndef _UINTPTR_T_DEFINED #ifndef _UINTPTR_T_DEFINED
typedef unsigned int uintptr_t; typedef size_t uintptr_t;
#endif #endif
#else #else

Binary file not shown.