Instead, use the corresponding method on VideoFrameBuffer. In the process, reduce code duplication in frame comparison functions used in the test code. Make FramesEqual use FrameBufsEqual. Make the latter support texture frames. The cl also refactors VideoFrame::CopyFrame to use I420Buffer::Copy. This has possibly undesired side effects of never reusing the frame buffer of the destination frame, and producing a frame buffer which may use different stride than the source frame. BUG=webrtc:5682 Review URL: https://codereview.webrtc.org/1881953002 Cr-Commit-Position: refs/heads/master@{#12373}
45 lines
1.4 KiB
C++
45 lines
1.4 KiB
C++
/*
|
|
* Copyright (c) 2013 The WebRTC project authors. All Rights Reserved.
|
|
*
|
|
* Use of this source code is governed by a BSD-style license
|
|
* that can be found in the LICENSE file in the root of the source
|
|
* tree. An additional intellectual property rights grant can be found
|
|
* in the file PATENTS. All contributing project authors may
|
|
* be found in the AUTHORS file in the root of the source tree.
|
|
*/
|
|
#ifndef WEBRTC_TEST_FRAME_UTILS_H_
|
|
#define WEBRTC_TEST_FRAME_UTILS_H_
|
|
|
|
#include "webrtc/base/basictypes.h"
|
|
#include "webrtc/base/scoped_ref_ptr.h"
|
|
|
|
namespace webrtc {
|
|
class VideoFrame;
|
|
class VideoFrameBuffer;
|
|
namespace test {
|
|
|
|
bool EqualPlane(const uint8_t* data1,
|
|
const uint8_t* data2,
|
|
int stride1,
|
|
int stride2,
|
|
int width,
|
|
int height);
|
|
|
|
static inline bool EqualPlane(const uint8_t* data1,
|
|
const uint8_t* data2,
|
|
int stride,
|
|
int width,
|
|
int height) {
|
|
return EqualPlane(data1, data2, stride, stride, width, height);
|
|
}
|
|
|
|
bool FramesEqual(const webrtc::VideoFrame& f1, const webrtc::VideoFrame& f2);
|
|
|
|
bool FrameBufsEqual(const rtc::scoped_refptr<webrtc::VideoFrameBuffer>& f1,
|
|
const rtc::scoped_refptr<webrtc::VideoFrameBuffer>& f2);
|
|
|
|
} // namespace test
|
|
} // namespace webrtc
|
|
|
|
#endif // WEBRTC_TEST_FRAME_UTILS_H_
|