blob: e47e518fcdabc097f15d451718b7ebdc61ee4c20 [file] [log] [blame]
/*
* Copyright 2015 Google Inc. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include "media/base/shell_video_data_allocator.h"
#include "base/logging.h"
namespace media {
ShellVideoDataAllocator::YV12Param::YV12Param(int decoded_width,
int decoded_height,
const gfx::Rect& visible_rect,
uint8* data)
: decoded_width_(decoded_width),
decoded_height_(decoded_height),
visible_rect_(visible_rect),
y_pitch_(decoded_width),
uv_pitch_(decoded_width / 2),
y_data_(data),
u_data_(y_data_ + y_pitch_ * decoded_height_),
v_data_(u_data_ + uv_pitch_ * decoded_height_ / 2) {}
ShellVideoDataAllocator::YV12Param::YV12Param(int width,
int height,
int y_pitch,
int uv_pitch,
uint8* y_data,
uint8* u_data,
uint8* v_data)
: decoded_width_(width),
decoded_height_(height),
visible_rect_(0, 0, width, height),
y_pitch_(y_pitch),
uv_pitch_(uv_pitch),
y_data_(y_data),
u_data_(u_data),
v_data_(v_data) {
DCHECK_NE(y_pitch_, 0);
DCHECK_NE(uv_pitch_, 0);
DCHECK(y_data_);
DCHECK(u_data);
DCHECK(v_data);
}
ShellVideoDataAllocator::NV12Param::NV12Param(int width,
int height,
int y_pitch,
const gfx::Rect& visible_rect)
: decoded_width_(width),
decoded_height_(height),
y_pitch_(y_pitch),
visible_rect_(visible_rect) {}
} // namespace media