Skip to content
Snippets Groups Projects
Commit bdde9f26 authored by sergeyu@chromium.org's avatar sergeyu@chromium.org
Browse files

Reverse rows in VP8 decoder.

TEST=None
BUG=None

Review URL: http://codereview.chromium.org/5310011

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@67918 0039d316-1c4b-4281-b951-d872f2087c98
parent 3f9331ac
No related branches found
No related tags found
No related merge requests found
......@@ -18,7 +18,8 @@ extern "C" {
namespace remoting {
DecoderVp8::DecoderVp8()
: state_(kUninitialized),
: reverse_rows_(true),
state_(kUninitialized),
codec_(NULL) {
}
......@@ -82,11 +83,16 @@ Decoder::DecodeResult DecoderVp8::DecodePacket(const VideoPacket* packet) {
}
// Perform YUV conversion.
uint8* data_start = frame_->data(media::VideoFrame::kRGBPlane);
int stride = frame_->stride(media::VideoFrame::kRGBPlane);
if (reverse_rows_) {
data_start = data_start + (frame_->height() - 1) * stride;
stride = -stride;
}
media::ConvertYUVToRGB32(image->planes[0], image->planes[1], image->planes[2],
frame_->data(media::VideoFrame::kRGBPlane),
frame_->width(), frame_->height(),
image->stride[0], image->stride[1],
frame_->stride(media::VideoFrame::kRGBPlane),
data_start, frame_->width(), frame_->height(),
image->stride[0], image->stride[1], stride,
media::YV12);
return DECODE_DONE;
}
......
......@@ -31,6 +31,9 @@ class DecoderVp8 : public Decoder {
kError,
};
// True if we should decode the image upside down.
bool reverse_rows_;
// The internal state of the decoder.
State state_;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment