| Index: remoting/base/decoder_vp8.cc
|
| diff --git a/remoting/base/decoder_vp8.cc b/remoting/base/decoder_vp8.cc
|
| index 516e9f439423361c0c0a14f1a464bd239f9c166e..fc89503ef9336c6d223599356334aa82065dbaca 100644
|
| --- a/remoting/base/decoder_vp8.cc
|
| +++ b/remoting/base/decoder_vp8.cc
|
| @@ -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;
|
| }
|
|
|