OpenCores
URL https://opencores.org/ocsvn/bluespec-h264/bluespec-h264/trunk

Subversion Repositories bluespec-h264

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /
    from Rev 41 to Rev 42
    Reverse comparison

Rev 41 → Rev 42

/trunk/src/mkDeblockFilter.bsv
369,7 → 369,7
 
Vector#(4, FIFO#(Bit#(32))) rowToColumnStore <- replicateM(mkSizedFIFO(3));
Reg#(Bit#(2)) rowToColumnState <- mkReg(0);
FIFO#(Tuple2#(Bit#(4),Bit#(1))) rowToColumnStoreBlock <- mkSizedFIFO(3); // The third bit 1 is to rotate the damned
FIFO#(Tuple2#(Bit#(4),Bit#(1))) rowToColumnStoreBlock <- mkFIFO(); // The third bit 1 is to rotate the damned
// last left vector block
FIFO#(Tuple2#(Bit#(4), Bit#(32))) verticalFilterBlock <- mkFIFO();
 
376,7 → 376,7
Reg#(Bit#(2)) columnState <- mkReg(0);
Vector#(4, FIFO#(Bit#(32))) columnToRowStore <- replicateM(mkSizedFIFO(3));
Reg#(Bit#(2)) columnToRowState <- mkReg(0);
FIFO#(Tuple2#(Bit#(4), Bit#(1))) columnToRowStoreBlock <- mkFIFO;
FIFO#(Tuple2#(Bit#(4), Bit#(1))) columnToRowStoreBlock <- mkFIFO();
 
Reg#(Bit#(2)) columnNumber <- mkReg(0);
583,7 → 583,7
Bit#(32) data_out = 0;
Bit#(PicWidthSz) adjustedMbHor = ((currMbHor==0) ? (picWidth-1) : truncate(currMbHor-1));
case(rowToColumnState)
case(rowToColumnState)
2'b00: data_out = {(rowToColumnStore[3].first())[7:0], (rowToColumnStore[2].first())[7:0],
(rowToColumnStore[1].first())[7:0], (rowToColumnStore[0].first())[7:0]};
854,7 → 854,7
begin
rowToColumnStore[pixelNum[1:0]].enq(result[31:0]);
// only push in a command for the bottom leftblock. It has to be rotated.
if(pixelNum == 0)
if(pixelNum == 3)
begin
rowToColumnStoreBlock.enq(tuple2(blockNum,1));
end
881,7 → 881,7
// push the correction into reorder block;
rowToColumnStore[addrpCurr[1:0]].enq(result[31:0]);
// Push down the block number and the chroma flag into the pipeline
if(pixelNum == 0)
if(pixelNum == 3)
begin
let blockHorPast = blockHor - 1;
let blockNumPast = {blockVer[1], blockHorPast[1], blockVer[0], blockHorPast[0]};
1025,7 → 1025,7
// current Mb vertical component is larger than 0. All of these are done and can be dumped out
if(currMbVer > 0)
begin
if(columnNumber == 0)
if(columnNumber == 3)
begin
columnToRowStoreBlock.enq(tuple2(blockNumCols,1'b1));
end
1083,7 → 1083,7
begin
Bit#(2) blockHor = blockHorVerticalCleanup;
Bit#(2) blockVer = 0;
if(columnNumber == 0)
if(columnNumber == 3)
begin
// Horizontal Postion is 3, but vertical position is 0, owing to subtraction in the rotation unit
columnToRowStoreBlock.enq(tuple2({blockVer[1],blockHor[1],blockVer[0],blockHor[0]},1'b0));
1095,7 → 1095,7
begin
Bit#(2) blockHor = blockHorVerticalCleanup;
Bit#(2) blockVer = 2; // need to make this two for subtraction in rotation unit
if(columnNumber == 0)
if(columnNumber == 3)
begin
// Horizontal Postion is 3, but vertical position is 0, owing to subtraction in the rotation unit
columnToRowStoreBlock.enq(tuple2({blockVer[1],blockHor[1],blockVer[0],blockHor[0]},1'b0));

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.