Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(60)

Unified Diff: source/libvpx/vp9/common/vp9_blockd.h

Issue 756673003: libvpx: Pull from upstream (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/deps/third_party/libvpx/
Patch Set: Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « source/libvpx/vp9/common/vp9_alloccommon.c ('k') | source/libvpx/vp9/common/vp9_entropy.c » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: source/libvpx/vp9/common/vp9_blockd.h
===================================================================
--- source/libvpx/vp9/common/vp9_blockd.h (revision 293081)
+++ source/libvpx/vp9/common/vp9_blockd.h (working copy)
@@ -112,6 +112,9 @@
// Common for both INTER and INTRA blocks
BLOCK_SIZE sb_type;
PREDICTION_MODE mode;
+#if CONFIG_FILTERINTRA
+ int filterbit, uv_filterbit;
+#endif
TX_SIZE tx_size;
int8_t skip;
int8_t segment_id;
@@ -126,11 +129,18 @@
int_mv ref_mvs[MAX_REF_FRAMES][MAX_MV_REF_CANDIDATES];
uint8_t mode_context[MAX_REF_FRAMES];
INTERP_FILTER interp_filter;
+
+#if CONFIG_EXT_TX
+ EXT_TX_TYPE ext_txfrm;
+#endif
} MB_MODE_INFO;
typedef struct MODE_INFO {
struct MODE_INFO *src_mi;
MB_MODE_INFO mbmi;
+#if CONFIG_FILTERINTRA
+ int b_filter_info[4];
+#endif
b_mode_info bmi[4];
} MODE_INFO;
@@ -139,6 +149,17 @@
: mi->mbmi.mode;
}
+#if CONFIG_FILTERINTRA
+static INLINE int is_filter_allowed(PREDICTION_MODE mode) {
+ (void)mode;
+ return 1;
+}
+
+static INLINE int is_filter_enabled(TX_SIZE txsize) {
+ return (txsize < TX_SIZES);
+}
+#endif
+
static INLINE int is_inter_block(const MB_MODE_INFO *mbmi) {
return mbmi->ref_frame[0] > INTRA_FRAME;
}
@@ -236,12 +257,33 @@
extern const TX_TYPE intra_mode_to_tx_type_lookup[INTRA_MODES];
+#if CONFIG_EXT_TX
+static TX_TYPE ext_tx_to_txtype(EXT_TX_TYPE ext_tx) {
+ switch (ext_tx) {
+ case NORM:
+ default:
+ return DCT_DCT;
+ case ALT:
+ return ADST_ADST;
+ }
+}
+#endif
+
static INLINE TX_TYPE get_tx_type(PLANE_TYPE plane_type,
const MACROBLOCKD *xd) {
const MB_MODE_INFO *const mbmi = &xd->mi[0].src_mi->mbmi;
- if (plane_type != PLANE_TYPE_Y || is_inter_block(mbmi))
+#if CONFIG_EXT_TX
+ if (plane_type != PLANE_TYPE_Y || xd->lossless)
+ return DCT_DCT;
+
+ if (is_inter_block(mbmi)) {
+ return ext_tx_to_txtype(mbmi->ext_txfrm);
+ }
+#else
+ if (plane_type != PLANE_TYPE_Y || xd->lossless || is_inter_block(mbmi))
return DCT_DCT;
+#endif
return intra_mode_to_tx_type_lookup[mbmi->mode];
}
@@ -249,8 +291,17 @@
const MACROBLOCKD *xd, int ib) {
const MODE_INFO *const mi = xd->mi[0].src_mi;
+#if CONFIG_EXT_TX
+ if (plane_type != PLANE_TYPE_Y || xd->lossless)
+ return DCT_DCT;
+
+ if (is_inter_block(&mi->mbmi)) {
+ return ext_tx_to_txtype(mi->mbmi.ext_txfrm);
+ }
+#else
if (plane_type != PLANE_TYPE_Y || xd->lossless || is_inter_block(&mi->mbmi))
return DCT_DCT;
+#endif
return intra_mode_to_tx_type_lookup[get_y_mode(mi, ib)];
}
« no previous file with comments | « source/libvpx/vp9/common/vp9_alloccommon.c ('k') | source/libvpx/vp9/common/vp9_entropy.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698