@@ -850,7 +850,7 @@ VideoDecoder::RawDecodedOutput VideoDecoder::getDecodedOutputWithFilter(
850850
851851VideoDecoder::DecodedOutput VideoDecoder::convertAVFrameToDecodedOutput (
852852 VideoDecoder::RawDecodedOutput& rawOutput,
853- std::optional< torch::Tensor> preAllocatedOutputTensor) {
853+ torch::Tensor preAllocatedOutputTensor) {
854854 // Convert the frame to tensor.
855855 DecodedOutput output;
856856 int streamIndex = rawOutput.streamIndex ;
@@ -986,7 +986,8 @@ VideoDecoder::DecodedOutput VideoDecoder::getFramePlayedAtTimestampNoDemux(
986986 auto height = options.height .value_or (*metadata.height );
987987 auto width = options.width .value_or (*metadata.width );
988988 auto preAllocatedOutputTensor = makeEmptyHWCTensor (height, width);
989- auto output = convertAVFrameToDecodedOutput (rawOutput, preAllocatedOutputTensor);
989+ auto output =
990+ convertAVFrameToDecodedOutput (rawOutput, preAllocatedOutputTensor);
990991 output.frame = MaybePermuteHWC2CHW (output.streamIndex , output.frame );
991992 return output;
992993}
@@ -1288,13 +1289,21 @@ VideoDecoder::RawDecodedOutput VideoDecoder::getNextRawDecodedOutputNoDemux() {
12881289}
12891290
12901291VideoDecoder::DecodedOutput VideoDecoder::getNextFrameNoDemux () {
1291- auto output = getNextFrameOutputNoDemuxInternal ();
1292+ auto rawOutput = getNextRawDecodedOutputNoDemux ();
1293+ auto streamIndex = rawOutput.streamIndex ;
1294+ auto metadata = containerMetadata_.streams [streamIndex];
1295+ auto options = streams_[streamIndex].options ;
1296+ auto height = options.height .value_or (*metadata.height );
1297+ auto width = options.width .value_or (*metadata.width );
1298+ auto preAllocatedOutputTensor = makeEmptyHWCTensor (height, width);
1299+ auto output =
1300+ convertAVFrameToDecodedOutput (rawOutput, preAllocatedOutputTensor);
12921301 output.frame = MaybePermuteHWC2CHW (output.streamIndex , output.frame );
12931302 return output;
12941303}
12951304
12961305VideoDecoder::DecodedOutput VideoDecoder::getNextFrameOutputNoDemuxInternal (
1297- std::optional< torch::Tensor> preAllocatedOutputTensor) {
1306+ torch::Tensor preAllocatedOutputTensor) {
12981307 auto rawOutput = getNextRawDecodedOutputNoDemux ();
12991308 return convertAVFrameToDecodedOutput (rawOutput, preAllocatedOutputTensor);
13001309}
0 commit comments