Line 955... |
Line 955... |
tc0 = tc0MbTop;
|
tc0 = tc0MbTop;
|
end
|
end
|
else
|
else
|
begin
|
begin
|
// We read this value from the original vector
|
// We read this value from the original vector
|
tempV <- workVectorCols.sub({blockHor, columnNumber});
|
tempV <- topVector.sub({blockHor, columnNumber});
|
$display( "TRACE Deblocking Filter: vertical P (work) addr %h, orig data %h ",{blockHor, blockVer - 1, columnNumber}, tempV);
|
$display( "TRACE Deblocking Filter: vertical P (work) addr %h, orig data %h ",{blockHor, blockVer - 1, columnNumber}, tempV);
|
alpha = alphaInternal;
|
alpha = alphaInternal;
|
beta = betaInternal;
|
beta = betaInternal;
|
tc0 = tc0Internal;
|
tc0 = tc0Internal;
|
end
|
end
|
Line 1024... |
Line 1024... |
end
|
end
|
|
|
$display( "TRACE Deblocking Filter: vertical P data %h ", resultV[31:0]);
|
$display( "TRACE Deblocking Filter: vertical P data %h ", resultV[31:0]);
|
$display( "TRACE Deblocking Filter: vertical Q (work) addr %h, data %h, original data: %h ",{blockHor,blockVer,columnNumber}, resultV[63:32], workV);
|
$display( "TRACE Deblocking Filter: vertical Q (work) addr %h, data %h, original data: %h ",{blockHor,blockVer,columnNumber}, resultV[63:32], workV);
|
|
|
workVectorCols.upd({blockHor,columnNumber}, resultV[63:32]);
|
topVector.upd({blockHor,columnNumber}, resultV[63:32]);
|
endrule
|
endrule
|
end
|
end
|
|
|
rule vertical_cleanup(verticalState == VerticalCleanup);
|
rule vertical_cleanup(verticalState == VerticalCleanup);
|
$display( "TRACE Deblocking Filter: vertical_cleanup at block end column: %d ", columnNumber);
|
$display( "TRACE Deblocking Filter: vertical_cleanup at block end column: %d ", columnNumber);
|
Line 1044... |
Line 1044... |
if(columnNumber == 0)
|
if(columnNumber == 0)
|
begin
|
begin
|
// Horizontal Postion is 3, but vertical position is 0, owing to subtraction in the rotation unit
|
// 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));
|
columnToRowStoreBlock.enq(tuple2({blockVer[1],blockHor[1],blockVer[0],blockHor[0]},1'b0));
|
end
|
end
|
Bit#(32) w_data <- workVectorCols.sub({blockHor, columnNumber});
|
Bit#(32) w_data <- topVector.sub({blockHor, columnNumber});
|
columnToRowStore[columnNumber].enq(w_data);
|
columnToRowStore[columnNumber].enq(w_data);
|
end
|
end
|
else
|
else
|
begin
|
begin
|
Bit#(2) blockHor = blockHorVerticalCleanup;
|
Bit#(2) blockHor = blockHorVerticalCleanup;
|
Line 1056... |
Line 1056... |
if(columnNumber == 0)
|
if(columnNumber == 0)
|
begin
|
begin
|
// Horizontal Postion is 3, but vertical position is 0, owing to subtraction in the rotation unit
|
// 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));
|
columnToRowStoreBlock.enq(tuple2({blockVer[1],blockHor[1],blockVer[0],blockHor[0]},1'b0));
|
end
|
end
|
Bit#(32) w_data <- workVectorCols.sub({blockHor, columnNumber});
|
Bit#(32) w_data <- topVector.sub({blockHor, columnNumber});
|
columnToRowStore[columnNumber].enq(w_data);
|
columnToRowStore[columnNumber].enq(w_data);
|
end
|
end
|
endrule
|
endrule
|
|
|
|
|