Changeset 1246 in SHVCSoftware for branches/SHM-dev/source/Lib/TLibVideoIO


Ignore:
Timestamp:
14 Jul 2015, 00:26:07 (10 years ago)
Author:
seregin
Message:

port rev 4240

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/SHM-dev/source/Lib/TLibVideoIO/TVideoIOYuv.cpp

    r1077 r1246  
    7373  {
    7474    for (UInt y = 0; y < height; y++, img+=stride)
     75    {
    7576      for (UInt x = 0; x < width; x++)
     77      {
    7678        img[x] <<= shiftbits;
     79      }
     80    }
    7781  }
    7882  else if (shiftbits < 0)
     
    8286    Pel rounding = 1 << (shiftbits-1);
    8387    for (UInt y = 0; y < height; y++, img+=stride)
     88    {
    8489      for (UInt x = 0; x < width; x++)
     90      {
    8591        img[x] = Clip3(minval, maxval, Pel((img[x] + rounding) >> shiftbits));
     92      }
     93    }
    8694  }
    8795}
     
    178186{
    179187  if (!numFrames)
     188  {
    180189    return;
     190  }
    181191
    182192  //------------------
     
    188198    ComponentID compID=ComponentID(component);
    189199    frameSize += (width >> getComponentScaleX(compID, format)) * (height >> getComponentScaleY(compID, format));
    190     if (m_fileBitdepth[toChannelType(compID)] > 8) wordsize=2;
     200    if (m_fileBitdepth[toChannelType(compID)] > 8)
     201    {
     202      wordsize=2;
     203    }
    191204  }
    192205  frameSize *= wordsize;
     
    197210  /* attempt to seek */
    198211  if (!!m_cHandle.seekg(offset, ios::cur))
     212  {
    199213    return; /* success */
     214  }
    200215  m_cHandle.clear();
    201216
    202217  /* fall back to consuming the input */
    203218  Char buf[512];
    204   const streamoff offset_mod_bufsize = offset % sizeof(buf);
     219  const UInt offset_mod_bufsize = offset % sizeof(buf);
    205220  for (streamoff i = 0; i < offset - offset_mod_bufsize; i += sizeof(buf))
    206221  {
     
    263278      const Pel value=Pel(1<<(fileBitDepth-1));
    264279      for (UInt y = 0; y < full_height_dest; y++, dst+=stride_dest)
     280      {
    265281        for (UInt x = 0; x < full_width_dest; x++)
     282        {
    266283          dst[x] = value;
     284        }
     285      }
    267286    }
    268287
     
    305324          {
    306325            for (UInt x = 0; x < width_dest; x++)
     326            {
    307327              dst[x] = buf[x<<sx];
     328            }
    308329          }
    309330          else
     
    322343          {
    323344            for (UInt x = 0; x < width_dest; x++)
     345            {
    324346              dst[x] = buf[x>>sx];
     347            }
    325348          }
    326349          else
    327350          {
    328351            for (UInt x = 0; x < width_dest; x++)
     352            {
    329353              dst[x] = Pel(buf[(x>>sx)*2+0]) | (Pel(buf[(x>>sx)*2+1])<<8);
     354            }
    330355          }
    331356        }
     
    334359        const Pel val=dst[width_dest-1];
    335360        for (UInt x = width_dest; x < full_width_dest; x++)
     361        {
    336362          dst[x] = val;
     363        }
    337364
    338365        dst += stride_dest;
     
    342369    // process lower padding
    343370    for (UInt y = height_dest; y < full_height_dest; y++, dst+=stride_dest)
     371    {
    344372      for (UInt x = 0; x < full_width_dest; x++)
     373      {
    345374        dst[x] = (dst - stride_dest)[x];
     375      }
     376    }
    346377  }
    347378  delete[] buf;
     
    393424          UChar val(value);
    394425          for (UInt x = 0; x < width_file; x++)
     426          {
    395427            buf[x]=val;
     428          }
    396429        }
    397430        else
     
    520553            UChar val(value);
    521554            for (UInt x = 0; x < width_file; x++)
     555            {
    522556              fieldBuffer[x]=val;
     557            }
    523558          }
    524559          else
     
    634669{
    635670  // check end-of-file
    636   if ( isEof() ) return false;
     671  if ( isEof() )
     672  {
     673    return false;
     674  }
    637675  TComPicYuv *pPicYuv=pPicYuvTrueOrg;
    638   if (format>=NUM_CHROMA_FORMAT) format=pPicYuv->getChromaFormat();
     676  if (format>=NUM_CHROMA_FORMAT)
     677  {
     678    format=pPicYuv->getChromaFormat();
     679  }
    639680
    640681  Bool is16bit = false;
     
    642683  for(UInt ch=0; ch<MAX_NUM_CHANNEL_TYPE; ch++)
    643684  {
    644     if (m_fileBitdepth[ch] > 8) is16bit=true;
     685    if (m_fileBitdepth[ch] > 8)
     686    {
     687      is16bit=true;
     688    }
    645689  }
    646690
     
    733777  for(UInt ch=0; ch<MAX_NUM_CHANNEL_TYPE; ch++)
    734778  {
    735     if (m_fileBitdepth[ch] > 8) is16bit=true;
    736     if (m_bitdepthShift[ch] != 0) nonZeroBitDepthShift=true;
     779    if (m_fileBitdepth[ch] > 8)
     780    {
     781      is16bit=true;
     782    }
     783    if (m_bitdepthShift[ch] != 0)
     784    {
     785      nonZeroBitDepthShift=true;
     786    }
    737787  }
    738788
    739789  TComPicYuv *dstPicYuv = NULL;
    740790  Bool retval = true;
    741   if (format>=NUM_CHROMA_FORMAT) format=pPicYuv->getChromaFormat();
     791  if (format>=NUM_CHROMA_FORMAT)
     792  {
     793    format=pPicYuv->getChromaFormat();
     794  }
    742795
    743796  if (nonZeroBitDepthShift)
     
    817870  for(UInt ch=0; ch<MAX_NUM_CHANNEL_TYPE; ch++)
    818871  {
    819     if (m_fileBitdepth[ch] > 8) is16bit=true;
    820     if (m_bitdepthShift[ch] != 0) nonZeroBitDepthShift=true;
     872    if (m_fileBitdepth[ch] > 8)
     873    {
     874      is16bit=true;
     875    }
     876    if (m_bitdepthShift[ch] != 0)
     877    {
     878      nonZeroBitDepthShift=true;
     879    }
    821880  }
    822881
     
    828887    TComPicYuv *pPicYuv = (field == 0) ? pPicYuvTop : pPicYuvBottom;
    829888
    830     if (format>=NUM_CHROMA_FORMAT) format=pPicYuv->getChromaFormat();
     889    if (format>=NUM_CHROMA_FORMAT)
     890    {
     891      format=pPicYuv->getChromaFormat();
     892    }
    831893
    832894    TComPicYuv* &dstPicYuv = (field == 0) ? dstPicYuvTop : dstPicYuvBottom;
     
    9491011      {
    9501012        for(UInt comp=0; comp<numValidComp; comp++)
     1013        {
    9511014          copyPlane(src, ComponentID(bIsForwards?0:comp), dest, ComponentID(comp));
     1015        }
    9521016      }
    9531017      break;
     
    9551019      {
    9561020        for(UInt comp=0; comp<numValidComp; comp++)
     1021        {
    9571022          copyPlane(src, ComponentID(comp), dest, ComponentID((numValidComp-comp)%numValidComp));
     1023        }
    9581024      }
    9591025      break;
     
    9821048      {
    9831049        for(UInt comp=0; comp<numValidComp; comp++)
     1050        {
    9841051          copyPlane(src, ComponentID(comp), dest, ComponentID(comp));
     1052        }
    9851053      }
    9861054      break;
Note: See TracChangeset for help on using the changeset viewer.