Program: 47241
Project: 47241
Buggy source:
/** 
 * Checks whether the video has too many reference frames per pixels for the renderer TODO move to PlayerUtil
 */
public synchronized boolean isVideoWithinH264LevelLimits(InputFile f,RendererConfiguration mediaRenderer){
  if (!h264_parsed) {
    if ("String_Node_Str".equals(getCodecV())) {
      if (getContainer() != null && (getContainer().equals("String_Node_Str") || getContainer().equals("String_Node_Str") || getContainer().equals("String_Node_Str")|| getContainer().equals("String_Node_Str"))) {
        byte headers[][]=getAnnexBFrameHeader(f);
        if (ffmpeg_annexb_failure) {
          LOGGER.info("String_Node_Str" + f.getFilename());
        }
        if (headers != null) {
          setH264AnnexB(headers[1]);
          if (getH264AnnexB() != null) {
            int skip=5;
            if (getH264AnnexB()[2] == 1) {
              skip=4;
            }
            byte header[]=new byte[getH264AnnexB().length - skip];
            System.arraycopy(getH264AnnexB(),skip,header,0,header.length);
            if (getReferenceFrameCount() > -1 && ("String_Node_Str".equals(getAvcLevel()) || "String_Node_Str".equals(getAvcLevel()) || "String_Node_Str".equals(getAvcLevel())|| "String_Node_Str".equals(getAvcLevel())|| "String_Node_Str".equals(getAvcLevel())|| "String_Node_Str".equals(getAvcLevel())) && getWidth() > 0 && getHeight() > 0) {
              int maxref;
              if (mediaRenderer == null || mediaRenderer.isPS3()) {
                maxref=(int)Math.floor(10252743 / (double)(getWidth() * getHeight()));
              }
 else {
                maxref=(int)Math.floor(8388608 / (double)(getWidth() * getHeight()));
              }
              if (getReferenceFrameCount() > maxref) {
                LOGGER.debug("String_Node_Str" + f.getFilename() + "String_Node_Str"+ maxref+ "String_Node_Str"+ getReferenceFrameCount()+ "String_Node_Str");
                return false;
              }
 else               if (getReferenceFrameCount() == -1) {
                LOGGER.debug("String_Node_Str" + f.getFilename() + "String_Node_Str");
                return false;
              }
            }
          }
 else {
            LOGGER.debug("String_Node_Str" + f.getFilename());
            return false;
          }
        }
 else {
          return false;
        }
      }
    }
    h264_parsed=true;
  }
  return true;
}

Fixed version (ground truth):
/** 
 * Checks whether the video has too many reference frames per pixels for the renderer TODO move to PlayerUtil
 */
public synchronized boolean isVideoWithinH264LevelLimits(InputFile f,RendererConfiguration mediaRenderer){
  if (!h264_parsed) {
    if (isH264()) {
      if (getContainer() != null && (getContainer().equals("String_Node_Str") || getContainer().equals("String_Node_Str") || getContainer().equals("String_Node_Str")|| getContainer().equals("String_Node_Str"))) {
        byte headers[][]=getAnnexBFrameHeader(f);
        if (ffmpeg_annexb_failure) {
          LOGGER.info("String_Node_Str" + f.getFilename());
        }
        if (headers != null) {
          setH264AnnexB(headers[1]);
          if (getH264AnnexB() != null) {
            int skip=5;
            if (getH264AnnexB()[2] == 1) {
              skip=4;
            }
            byte header[]=new byte[getH264AnnexB().length - skip];
            System.arraycopy(getH264AnnexB(),skip,header,0,header.length);
            if (getReferenceFrameCount() > -1 && ("String_Node_Str".equals(getAvcLevel()) || "String_Node_Str".equals(getAvcLevel()) || "String_Node_Str".equals(getAvcLevel())|| "String_Node_Str".equals(getAvcLevel())|| "String_Node_Str".equals(getAvcLevel())|| "String_Node_Str".equals(getAvcLevel())) && getWidth() > 0 && getHeight() > 0) {
              int maxref;
              if (mediaRenderer == null || mediaRenderer.isPS3()) {
                maxref=(int)Math.floor(10252743 / (double)(getWidth() * getHeight()));
              }
 else {
                maxref=(int)Math.floor(8388608 / (double)(getWidth() * getHeight()));
              }
              if (getReferenceFrameCount() > maxref) {
                LOGGER.debug("String_Node_Str" + f.getFilename() + "String_Node_Str"+ maxref+ "String_Node_Str"+ getReferenceFrameCount()+ "String_Node_Str");
                return false;
              }
 else               if (getReferenceFrameCount() == -1) {
                LOGGER.debug("String_Node_Str" + f.getFilename() + "String_Node_Str");
                return false;
              }
            }
          }
 else {
            LOGGER.debug("String_Node_Str" + f.getFilename());
            return false;
          }
        }
 else {
          return false;
        }
      }
    }
    h264_parsed=true;
  }
  return true;
}