This reverts commit d5925756980f6e82a55f57532c8d855e954459fb. Reason for revert: May cause crashes. Original change's description: > VP9 decoder: Sets thread count based on resolution, reinit on change. > > Previously, number of decoder threads for VP9 were always set to 8 but > with a cap at number of cores. This was done since we "can't know" the > resolution that will be used. > > With this change, we now intialize the number of threads based on > resolution given in InitDecode(). If a resolution change happens in > flight, it requires a keyframe. We therefore parse the header from > any key frame and if it has a new resolution, we re-initialize the > decoder. > > The number of threads used is based on pixel count. We set one thread > as target for 1280x720, and scale up lineraly from there. The 8-thread > cap is gone, but still limit it core count. > > This means for instance: 1 <= 720p, 2 for 1080p, 4 for 1440p, 9 for 4K. > > Bug: webrtc:11551 > Change-Id: I14c169a6c651c50bd1b870c4b22bc4495c8448fd > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/174460 > Commit-Queue: Erik Språng <sprang@webrtc.org> > Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#31507} TBR=ilnik@webrtc.org,sprang@webrtc.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: webrtc:11551 Change-Id: Id235c8ded83b3e1fc1d132c8f56c9f20001f6f22 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/177242 Reviewed-by: Erik Språng <sprang@webrtc.org> Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org> Commit-Queue: Erik Språng <sprang@webrtc.org> Cr-Commit-Position: refs/heads/master@{#31521}
30 lines
892 B
C++
30 lines
892 B
C++
/*
|
|
* 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.
|
|
*/
|
|
|
|
#ifndef MODULES_VIDEO_CODING_UTILITY_VP9_UNCOMPRESSED_HEADER_PARSER_H_
|
|
#define MODULES_VIDEO_CODING_UTILITY_VP9_UNCOMPRESSED_HEADER_PARSER_H_
|
|
|
|
#include <stddef.h>
|
|
#include <stdint.h>
|
|
|
|
namespace webrtc {
|
|
|
|
namespace vp9 {
|
|
|
|
// Gets the QP, QP range: [0, 255].
|
|
// Returns true on success, false otherwise.
|
|
bool GetQp(const uint8_t* buf, size_t length, int* qp);
|
|
|
|
} // namespace vp9
|
|
|
|
} // namespace webrtc
|
|
|
|
#endif // MODULES_VIDEO_CODING_UTILITY_VP9_UNCOMPRESSED_HEADER_PARSER_H_
|