@@ -133,10 +133,6 @@ BetaCudaDeviceInterface::BetaCudaDeviceInterface(const torch::Device& device)
133133 TORCH_CHECK (g_cuda_beta, " BetaCudaDeviceInterface was not registered!" );
134134 TORCH_CHECK (
135135 device_.type () == torch::kCUDA , " Unsupported device: " , device_.str ());
136-
137- // TODONVDEC P1: init size should probably be min_num_decode_surfaces from
138- // video format
139- frameBuffer_.resize (4 );
140136}
141137
142138BetaCudaDeviceInterface::~BetaCudaDeviceInterface () {
@@ -344,7 +340,7 @@ int BetaCudaDeviceInterface::frameReadyForDecoding(CUVIDPICPARAMS* pPicParams) {
344340 dispInfo.repeat_first_field = 0 ;
345341 dispInfo.timestamp = guessedPts;
346342
347- FrameBufferSlot * slot = findEmptySlot ();
343+ FrameBuffer::Slot * slot = frameBuffer_. findEmptySlot ();
348344 slot->dispInfo = dispInfo;
349345 slot->guessedPts = guessedPts;
350346 slot->occupied = true ;
@@ -358,7 +354,7 @@ int BetaCudaDeviceInterface::frameReadyForDecoding(CUVIDPICPARAMS* pPicParams) {
358354int BetaCudaDeviceInterface::receiveFrame (
359355 UniqueAVFrame& avFrame,
360356 int64_t desiredPts) {
361- FrameBufferSlot * slot = findFrameWithExactPts (desiredPts);
357+ FrameBuffer::Slot * slot = frameBuffer_. findFrameWithExactPts (desiredPts);
362358 if (slot == nullptr ) {
363359 // No frame found, instruct caller to try again later after sending more
364360 // packets.
@@ -532,9 +528,8 @@ void BetaCudaDeviceInterface::convertAVFrameToFrameOutput(
532528 preAllocatedOutputTensor);
533529}
534530
535- // TODONVDEC P0: Don't let buffer grow indefinitely.
536- BetaCudaDeviceInterface::FrameBufferSlot*
537- BetaCudaDeviceInterface::findEmptySlot () {
531+ BetaCudaDeviceInterface::FrameBuffer::Slot*
532+ BetaCudaDeviceInterface::FrameBuffer::findEmptySlot () {
538533 for (auto & slot : frameBuffer_) {
539534 if (!slot.occupied ) {
540535 return &slot;
@@ -544,8 +539,9 @@ BetaCudaDeviceInterface::findEmptySlot() {
544539 return &frameBuffer_.back ();
545540}
546541
547- BetaCudaDeviceInterface::FrameBufferSlot*
548- BetaCudaDeviceInterface::findFrameWithExactPts (int64_t desiredPts) {
542+ BetaCudaDeviceInterface::FrameBuffer::Slot*
543+ BetaCudaDeviceInterface::FrameBuffer::findFrameWithExactPts (
544+ int64_t desiredPts) {
549545 for (auto & slot : frameBuffer_) {
550546 if (slot.occupied && slot.guessedPts == desiredPts) {
551547 return &slot;
0 commit comments