Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(933)

Unified Diff: webrtc/test/testsupport/jpeg_frame_writer.cc

Issue 2998123002: Revert of Add Jpeg frame writer for test support.
Patch Set: Created 3 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « webrtc/test/testsupport/frame_writer.h ('k') | webrtc/test/testsupport/test_output.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webrtc/test/testsupport/jpeg_frame_writer.cc
diff --git a/webrtc/test/testsupport/jpeg_frame_writer.cc b/webrtc/test/testsupport/jpeg_frame_writer.cc
deleted file mode 100644
index 6e1caa1bcdec81f3f390de68f0b3d0848c462986..0000000000000000000000000000000000000000
--- a/webrtc/test/testsupport/jpeg_frame_writer.cc
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Copyright (c) 2017 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.
- */
-
-#include <stdio.h>
-
-
-#include "webrtc/common_types.h"
-#include "webrtc/common_video/libyuv/include/webrtc_libyuv.h"
-#include "webrtc/rtc_base/checks.h"
-#include "webrtc/rtc_base/logging.h"
-#include "webrtc/test/testsupport/frame_writer.h"
-
-extern "C" {
-#if defined(USE_SYSTEM_LIBJPEG)
-#include <jpeglib.h>
-#elif defined(USE_LIBJPEG_TURBO)
-#include "third_party/libjpeg_turbo/jpeglib.h"
-#else
-#include "third_party/libjpeg/jpeglib.h"
-#endif
-}
-
-namespace webrtc {
-namespace test {
-
-JpegFrameWriter::JpegFrameWriter(const std::string &output_filename)
- : frame_written_(false),
- output_filename_(output_filename),
- output_file_(nullptr) {}
-
-bool JpegFrameWriter::WriteFrame(const VideoFrame& input_frame, int quality) {
- RTC_CHECK(!frame_written_) << "Only a single frame can be saved to Jpeg.";
- const int kColorPlanes = 3; // R, G and B.
- size_t rgb_len = input_frame.height() * input_frame.width() * kColorPlanes;
- std::unique_ptr<uint8_t[]> rgb_buf(new uint8_t[rgb_len]);
-
- // kRGB24 actually corresponds to FourCC 24BG which is 24-bit BGR.
- if (ConvertFromI420(input_frame, VideoType::kRGB24, 0, rgb_buf.get()) < 0) {
- LOG(LS_ERROR) << "Could not convert input frame to RGB.";
- return false;
- }
- output_file_ = fopen(output_filename_.c_str(), "wb");
- if (!output_file_) {
- LOG(LS_ERROR) << "Couldn't open file to write jpeg frame to:" <<
- output_filename_;
- return false;
- }
-
- // Invoking LIBJPEG
- struct jpeg_compress_struct cinfo;
- struct jpeg_error_mgr jerr;
- JSAMPROW row_pointer[1];
- cinfo.err = jpeg_std_error(&jerr);
- jpeg_create_compress(&cinfo);
-
- jpeg_stdio_dest(&cinfo, output_file_);
-
- cinfo.image_width = input_frame.width();
- cinfo.image_height = input_frame.height();
- cinfo.input_components = kColorPlanes;
- cinfo.in_color_space = JCS_EXT_BGR;
- jpeg_set_defaults(&cinfo);
- jpeg_set_quality(&cinfo, quality, TRUE);
-
- jpeg_start_compress(&cinfo, TRUE);
- int row_stride = input_frame.width() * kColorPlanes;
- while (cinfo.next_scanline < cinfo.image_height) {
- row_pointer[0] = &rgb_buf.get()[cinfo.next_scanline * row_stride];
- jpeg_write_scanlines(&cinfo, row_pointer, 1);
- }
-
- jpeg_finish_compress(&cinfo);
- jpeg_destroy_compress(&cinfo);
- fclose(output_file_);
-
- frame_written_ = true;
- return true;
-}
-
-} // namespace test
-} // namespace webrtc
« no previous file with comments | « webrtc/test/testsupport/frame_writer.h ('k') | webrtc/test/testsupport/test_output.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698