vp8dec: Add support for the MFQE postprocessing flag
Which is enabled by default if postprocessing is enabled.
This commit is contained in:
parent
a9f46ed059
commit
14317a3408
13
configure.ac
13
configure.ac
@ -1790,6 +1790,19 @@ return 0;
|
|||||||
AC_CHECK_LIB(vpx, vpx_codec_vp8_dx_algo, [
|
AC_CHECK_LIB(vpx, vpx_codec_vp8_dx_algo, [
|
||||||
HAVE_VP8=yes
|
HAVE_VP8=yes
|
||||||
AC_DEFINE(HAVE_VP8_DECODER, 1, [Defined if the VP8 decoder is available])
|
AC_DEFINE(HAVE_VP8_DECODER, 1, [Defined if the VP8 decoder is available])
|
||||||
|
AC_MSG_CHECKING([for VP8_MFQE presence])
|
||||||
|
AC_TRY_COMPILE([
|
||||||
|
#include <vpx/vpx_decoder.h>
|
||||||
|
#include <vpx/vp8dx.h>
|
||||||
|
int foo=VP8_MFQE;
|
||||||
|
], [
|
||||||
|
return 0;
|
||||||
|
], [
|
||||||
|
AC_DEFINE(HAVE_VP8_MFQE, 1, [Defined if the VP8 decoder has MFQE support])
|
||||||
|
AC_MSG_RESULT(yes)
|
||||||
|
], [
|
||||||
|
AC_MSG_RESULT(no)
|
||||||
|
])
|
||||||
])
|
])
|
||||||
LIBS="$OLD_LIBS"
|
LIBS="$OLD_LIBS"
|
||||||
fi
|
fi
|
||||||
|
@ -54,8 +54,12 @@
|
|||||||
GST_DEBUG_CATEGORY_STATIC (gst_vp8dec_debug);
|
GST_DEBUG_CATEGORY_STATIC (gst_vp8dec_debug);
|
||||||
#define GST_CAT_DEFAULT gst_vp8dec_debug
|
#define GST_CAT_DEFAULT gst_vp8dec_debug
|
||||||
|
|
||||||
|
#ifndef HAVE_VP8_MFQE
|
||||||
|
#define VP8_MFQE (1<<10)
|
||||||
|
#endif
|
||||||
|
|
||||||
#define DEFAULT_POST_PROCESSING FALSE
|
#define DEFAULT_POST_PROCESSING FALSE
|
||||||
#define DEFAULT_POST_PROCESSING_FLAGS (VP8_DEBLOCK | VP8_DEMACROBLOCK)
|
#define DEFAULT_POST_PROCESSING_FLAGS (VP8_DEBLOCK | VP8_DEMACROBLOCK | VP8_MFQE)
|
||||||
#define DEFAULT_DEBLOCKING_LEVEL 4
|
#define DEFAULT_DEBLOCKING_LEVEL 4
|
||||||
#define DEFAULT_NOISE_LEVEL 0
|
#define DEFAULT_NOISE_LEVEL 0
|
||||||
|
|
||||||
@ -77,6 +81,7 @@ gst_vp8_dec_post_processing_flags_get_type (void)
|
|||||||
{C_FLAGS (VP8_DEBLOCK), "Deblock", "deblock"},
|
{C_FLAGS (VP8_DEBLOCK), "Deblock", "deblock"},
|
||||||
{C_FLAGS (VP8_DEMACROBLOCK), "Demacroblock", "demacroblock"},
|
{C_FLAGS (VP8_DEMACROBLOCK), "Demacroblock", "demacroblock"},
|
||||||
{C_FLAGS (VP8_ADDNOISE), "Add noise", "addnoise"},
|
{C_FLAGS (VP8_ADDNOISE), "Add noise", "addnoise"},
|
||||||
|
{C_FLAGS (VP8_MFQE), "Multi-frame quality enhancement", "mfqe"},
|
||||||
{0, NULL, NULL}
|
{0, NULL, NULL}
|
||||||
};
|
};
|
||||||
static volatile GType id = 0;
|
static volatile GType id = 0;
|
||||||
@ -420,7 +425,11 @@ open_codec (GstVP8Dec * dec, GstVideoCodecFrame * frame)
|
|||||||
if ((caps & VPX_CODEC_CAP_POSTPROC) && dec->post_processing) {
|
if ((caps & VPX_CODEC_CAP_POSTPROC) && dec->post_processing) {
|
||||||
vp8_postproc_cfg_t pp_cfg = { 0, };
|
vp8_postproc_cfg_t pp_cfg = { 0, };
|
||||||
|
|
||||||
|
#ifndef HAVE_VP8_MFQE
|
||||||
|
pp_cfg.post_proc_flag = (dec->post_processing_flags & (~VP8_MFQE));
|
||||||
|
#else
|
||||||
pp_cfg.post_proc_flag = dec->post_processing_flags;
|
pp_cfg.post_proc_flag = dec->post_processing_flags;
|
||||||
|
#endif
|
||||||
pp_cfg.deblocking_level = dec->deblocking_level;
|
pp_cfg.deblocking_level = dec->deblocking_level;
|
||||||
pp_cfg.noise_level = dec->noise_level;
|
pp_cfg.noise_level = dec->noise_level;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user