Align frame size to 8 instead of 16.
Change-Id: Ic22f416a33de558519d5c30a929f6a954546ade9
This commit is contained in:
parent
6ef805eb9d
commit
c2574414d4
@ -68,8 +68,8 @@ void vp9_free_frame_buffers(VP9_COMMON *oci) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void set_mb_mi(VP9_COMMON *cm, int aligned_width, int aligned_height) {
|
static void set_mb_mi(VP9_COMMON *cm, int aligned_width, int aligned_height) {
|
||||||
cm->mb_cols = aligned_width >> 4;
|
cm->mb_cols = (aligned_width + 8) >> 4;
|
||||||
cm->mb_rows = aligned_height >> 4;
|
cm->mb_rows = (aligned_height + 8) >> 4;
|
||||||
cm->MBs = cm->mb_rows * cm->mb_cols;
|
cm->MBs = cm->mb_rows * cm->mb_cols;
|
||||||
|
|
||||||
cm->mi_cols = aligned_width >> LOG2_MI_SIZE;
|
cm->mi_cols = aligned_width >> LOG2_MI_SIZE;
|
||||||
@ -95,8 +95,8 @@ int vp9_alloc_frame_buffers(VP9_COMMON *oci, int width, int height) {
|
|||||||
int i, mi_cols;
|
int i, mi_cols;
|
||||||
|
|
||||||
// Our internal buffers are always multiples of 16
|
// Our internal buffers are always multiples of 16
|
||||||
const int aligned_width = multiple16(width);
|
const int aligned_width = multiple8(width);
|
||||||
const int aligned_height = multiple16(height);
|
const int aligned_height = multiple8(height);
|
||||||
const int ss_x = oci->subsampling_x;
|
const int ss_x = oci->subsampling_x;
|
||||||
const int ss_y = oci->subsampling_y;
|
const int ss_y = oci->subsampling_y;
|
||||||
|
|
||||||
@ -222,8 +222,8 @@ void vp9_initialize_common() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void vp9_update_frame_size(VP9_COMMON *cm) {
|
void vp9_update_frame_size(VP9_COMMON *cm) {
|
||||||
const int aligned_width = multiple16(cm->width);
|
const int aligned_width = multiple8(cm->width);
|
||||||
const int aligned_height = multiple16(cm->height);
|
const int aligned_height = multiple8(cm->height);
|
||||||
|
|
||||||
set_mb_mi(cm, aligned_width, aligned_height);
|
set_mb_mi(cm, aligned_width, aligned_height);
|
||||||
setup_mi(cm);
|
setup_mi(cm);
|
||||||
|
@ -56,8 +56,8 @@ static INLINE double fclamp(double value, double low, double high) {
|
|||||||
return value < low ? low : (value > high ? high : value);
|
return value < low ? low : (value > high ? high : value);
|
||||||
}
|
}
|
||||||
|
|
||||||
static INLINE int multiple16(int value) {
|
static INLINE int multiple8(int value) {
|
||||||
return (value + 15) & ~15;
|
return (value + 7) & ~7;
|
||||||
}
|
}
|
||||||
|
|
||||||
#define SYNC_CODE_0 0x49
|
#define SYNC_CODE_0 0x49
|
||||||
|
@ -29,7 +29,7 @@ static void yuvconfig2image(vpx_image_t *img, const YV12_BUFFER_CONFIG *yv12,
|
|||||||
img->fmt = VPX_IMG_FMT_I420;
|
img->fmt = VPX_IMG_FMT_I420;
|
||||||
}
|
}
|
||||||
img->w = yv12->y_stride;
|
img->w = yv12->y_stride;
|
||||||
img->h = multiple16(yv12->y_height + 2 * VP9BORDERINPIXELS);
|
img->h = multiple8(yv12->y_height + 2 * VP9BORDERINPIXELS);
|
||||||
img->d_w = yv12->y_crop_width;
|
img->d_w = yv12->y_crop_width;
|
||||||
img->d_h = yv12->y_crop_height;
|
img->d_h = yv12->y_crop_height;
|
||||||
img->x_chroma_shift = yv12->uv_width < yv12->y_width;
|
img->x_chroma_shift = yv12->uv_width < yv12->y_width;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user