Module: Mesa
Branch: main
Commit: a71f79fb457b3b428f4d3ccf3dc4758bab6e2598
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=a71f79fb457b3b428f4d3ccf3dc4758bab6e2598

Author: Sil Vilerino <[email protected]>
Date:   Mon Apr 17 13:17:32 2023 -0400

d3d12: Clean unused code for parsing slices

Reviewed-by: Giancarlo Devich <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22541>

---

 src/gallium/drivers/d3d12/d3d12_video_dec.cpp      | 31 -----------
 src/gallium/drivers/d3d12/d3d12_video_dec.h        |  6 ---
 src/gallium/drivers/d3d12/d3d12_video_dec_h264.cpp | 62 ----------------------
 src/gallium/drivers/d3d12/d3d12_video_dec_h264.h   |  5 --
 4 files changed, 104 deletions(-)

diff --git a/src/gallium/drivers/d3d12/d3d12_video_dec.cpp 
b/src/gallium/drivers/d3d12/d3d12_video_dec.cpp
index 460c3347227..99185795b6f 100644
--- a/src/gallium/drivers/d3d12/d3d12_video_dec.cpp
+++ b/src/gallium/drivers/d3d12/d3d12_video_dec.cpp
@@ -39,7 +39,6 @@
 #include "util/u_inlines.h"
 #include "util/u_memory.h"
 #include "util/u_video.h"
-#include "util/vl_vlc.h"
 
 struct pipe_video_codec *
 d3d12_video_create_decoder(struct pipe_context *context, const struct 
pipe_video_codec *codec)
@@ -1237,36 +1236,6 @@ d3d12_video_decoder_get_frame_info(
    }
 }
 
-///
-/// Returns the number of bytes starting from [buf.data() + buffsetOffset] 
where the _targetCode_ is found
-/// Returns -1 if start code not found
-///
-int
-d3d12_video_decoder_get_next_startcode_offset(std::vector<uint8_t> &buf,
-                                              unsigned int bufferOffset,
-                                              unsigned int targetCode,
-                                              unsigned int targetCodeBitSize,
-                                              unsigned int 
numBitsToSearchIntoBuffer)
-{
-   struct vl_vlc vlc = { 0 };
-
-   // Shorten the buffer to be [buffetOffset, endOfBuf)
-   unsigned int bufSize = buf.size() - bufferOffset;
-   uint8_t *bufPtr = buf.data();
-   bufPtr += bufferOffset;
-
-   /* search the first numBitsToSearchIntoBuffer bytes for a startcode */
-   vl_vlc_init(&vlc, 1, (const void *const *) &bufPtr, &bufSize);
-   for (uint i = 0; i < numBitsToSearchIntoBuffer && vl_vlc_bits_left(&vlc) >= 
targetCodeBitSize; ++i) {
-      if (vl_vlc_peekbits(&vlc, targetCodeBitSize) == targetCode)
-         return i;
-      vl_vlc_eatbits(&vlc, 8);   // Stride is 8 bits = 1 byte
-      vl_vlc_fillbits(&vlc);
-   }
-
-   return -1;
-}
-
 void
 d3d12_video_decoder_store_converted_dxva_picparams_from_pipe_input(
    struct d3d12_video_decoder *codec,   // input argument, current decoder
diff --git a/src/gallium/drivers/d3d12/d3d12_video_dec.h 
b/src/gallium/drivers/d3d12/d3d12_video_dec.h
index 3197cc751d1..f80c0ed56d7 100644
--- a/src/gallium/drivers/d3d12/d3d12_video_dec.h
+++ b/src/gallium/drivers/d3d12/d3d12_video_dec.h
@@ -243,12 +243,6 @@ 
d3d12_video_decoder_store_dxva_qmatrix_in_qmatrix_buffer(struct d3d12_video_deco
                                                          uint64_t              
      DXVAStructSize);
 void
 d3d12_video_decoder_prepare_dxva_slices_control(struct d3d12_video_decoder 
*pD3D12Dec, struct pipe_picture_desc *picture);
-int
-d3d12_video_decoder_get_next_startcode_offset(std::vector<uint8_t> &buf,
-                                              unsigned int          
bufferOffset,
-                                              unsigned int          targetCode,
-                                              unsigned int          
targetCodeBitSize,
-                                              unsigned int          
numBitsToSearchIntoBuffer);
 
 ///
 /// d3d12_video_decoder functions ends
diff --git a/src/gallium/drivers/d3d12/d3d12_video_dec_h264.cpp 
b/src/gallium/drivers/d3d12/d3d12_video_dec_h264.cpp
index 63adb502158..b2ba785b114 100644
--- a/src/gallium/drivers/d3d12/d3d12_video_dec_h264.cpp
+++ b/src/gallium/drivers/d3d12/d3d12_video_dec_h264.cpp
@@ -200,68 +200,6 @@ 
d3d12_video_decoder_prepare_dxva_slices_control_h264(struct d3d12_video_decoder
    assert(vecOutSliceControlBuffers.size() == TotalSlicesDXVAArrayByteSize);
 }
 
-bool
-d3d12_video_decoder_get_next_slice_size_and_offset_h264(std::vector<uint8_t> 
&buf,
-                                                        unsigned int 
bufferOffset,
-                                                        uint32_t &outSliceSize,
-                                                        uint32_t 
&outSliceOffset)
-{
-   // Search the rest of the full frame buffer after the offset
-   uint numBitsToSearchIntoBuffer = buf.size() - bufferOffset;
-   int currentSlicePosition = 
d3d12_video_decoder_get_next_startcode_offset(buf,
-                                                                            
bufferOffset,
-                                                                            
DXVA_H264_START_CODE,
-                                                                            
DXVA_H264_START_CODE_LEN_BITS,
-                                                                            
numBitsToSearchIntoBuffer);
-
-   // Return false now if we didn't find a next slice based on the 
bufferOffset parameter
-   if (currentSlicePosition < 0) {
-      return false;
-   } else {
-      // Save the absolute buffer offset until the next slice in the output 
param
-      outSliceOffset = currentSlicePosition + bufferOffset;
-
-      // Found a next NALU, make sure it's a slice:
-      d3d12_video_decoder_nal_unit_type_h264 naluType =
-         (d3d12_video_decoder_nal_unit_type_h264)(buf[outSliceOffset + 
(DXVA_H264_START_CODE_LEN_BITS / 8)] & 0x1F);
-
-      bool isNaluSliceType = (naluType == type_slice) || (naluType == 
type_slice_part_A) ||
-                             (naluType == type_slice_part_B) || (naluType == 
type_slice_part_C) ||
-                             (naluType == type_slice_IDR) || (naluType == 
type_slice_aux) ||
-                             (naluType == type_slice_layer_ext);
-
-      if (!isNaluSliceType) {
-         // We found a NALU, but it's not a slice
-         return false;
-      } else {
-         // We did find a next slice based on the bufferOffset parameter
-
-         // Skip current start code, to get the slice after this, to calculate 
its size
-         bufferOffset += (DXVA_H264_START_CODE_LEN_BITS / 8 /*convert bits to 
bytes*/);
-         numBitsToSearchIntoBuffer = buf.size() - bufferOffset;
-
-         int c_signedStartCodeLen = (DXVA_H264_START_CODE_LEN_BITS / 8 
/*convert bits to bytes*/);
-         int nextSlicePosition = c_signedStartCodeLen   // Takes into account 
the skipped start code
-                                 + 
d3d12_video_decoder_get_next_startcode_offset(buf,
-                                                                               
  bufferOffset,
-                                                                               
  DXVA_H264_START_CODE,
-                                                                               
  DXVA_H264_START_CODE_LEN_BITS,
-                                                                               
  numBitsToSearchIntoBuffer);
-
-         if (nextSlicePosition <
-             c_signedStartCodeLen)   // if no slice found, 
d3d12_video_decoder_get_next_startcode_offset returns - 1
-         {
-            // This means currentSlicePosition points to the last slice in the 
buffer
-            outSliceSize = buf.size() - outSliceOffset;
-         } else {
-            // This means there are more slices after the one pointed by 
currentSlicePosition
-            outSliceSize = nextSlicePosition - currentSlicePosition;
-         }
-         return true;
-      }
-   }
-}
-
 static void
 d3d12_video_decoder_log_pic_entry_h264(DXVA_PicEntry_H264 &picEntry)
 {
diff --git a/src/gallium/drivers/d3d12/d3d12_video_dec_h264.h 
b/src/gallium/drivers/d3d12/d3d12_video_dec_h264.h
index d91d23b0e28..3b39b996aa0 100644
--- a/src/gallium/drivers/d3d12/d3d12_video_dec_h264.h
+++ b/src/gallium/drivers/d3d12/d3d12_video_dec_h264.h
@@ -213,11 +213,6 @@ 
d3d12_video_decoder_dxva_qmatrix_from_pipe_picparams_h264(pipe_h264_picture_desc
                                                           DXVA_Qmatrix_H264 &  
   outMatrixBuffer);
 void
 d3d12_video_decoder_refresh_dpb_active_references_h264(struct 
d3d12_video_decoder *pD3D12Dec);
-bool
-d3d12_video_decoder_get_next_slice_size_and_offset_h264(std::vector<uint8_t> 
&buf,
-                                                   unsigned int          
bufferOffset,
-                                                   uint32_t &            
outSliceSize,
-                                                   uint32_t &            
outSliceOffset);
 
 uint 
 d3d12_video_decoder_get_slice_count_h264(std::vector<uint8_t> &buf);

Reply via email to