View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000246 | JVT JM H.264/AVC reference software | encoder | public | 2011-03-09 19:19 | 2011-03-09 20:20 |
Reporter | Diego F. de Souza | Assigned To | Alexis Michael Tourapis | ||
Priority | normal | Severity | major | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Product Version | JM 17.2 | ||||
Fixed in Version | JM 18.0 | ||||
Summary | 0000246: Saving a wrong motion vector in the function FullPelBlockMotionBiPred() in the file me_fullsearch.c. | ||||
Description | In the function FullPelBlockMotionBiPred() in the file me_fullsearch.c, after the loop over all positions, in the part of the code reproduced below: //===== set best motion vector and return minimum motion cost ===== if (best_pos) { add_mvs(mv1, &p_Vid->spiral_search[best_pos]); } The function add_mvs has a wrong argument, &p_Vid->spiral_search[best_pos]. It should be &p_Vid->spiral_qpel_search[best_pos]. | ||||
Additional Information | In the loop part: //===== loop over all search positions ===== for (pos=0; pos<max_pos; pos++) { //--- set candidate position (absolute position in pel units) --- cand.mv_x = center1.mv_x + (p_Vid->spiral_search[pos].mv_x << 2); cand.mv_y = center1.mv_y + (p_Vid->spiral_search[pos].mv_y << 2); Note that the position is multiplied by 4 by shifting 2 bits to the left. The same result would be achieved when using p_Vid->spiral_qpel_search[pos] without the shifting. As it's shown below: //===== loop over all search positions ===== for (pos=0; pos<max_pos; pos++) { //--- set candidate position (absolute position in pel units) --- cand.mv_x = center1.mv_x + p_Vid->spiral_qpel_search[pos].mv_x; cand.mv_y = center1.mv_y + p_Vid->spiral_qpel_search[pos].mv_y; | ||||
Tags | No tags attached. | ||||
|
This has already been fixed in the upcoming JM18.0 version (should be released very soon). You may also wish to update the use of p_Vid->spiral_search in the same function to be p_Vid->spiral_qpel_search and avoid the use of shifts within the me loop. |
|
Already fixed in the development code. |
Date Modified | Username | Field | Change |
---|---|---|---|
2011-03-09 19:19 | Diego F. de Souza | New Issue | |
2011-03-09 20:19 | Alexis Michael Tourapis | Note Added: 0000402 | |
2011-03-09 20:20 | Alexis Michael Tourapis | Note Added: 0000403 | |
2011-03-09 20:20 | Alexis Michael Tourapis | Status | new => resolved |
2011-03-09 20:20 | Alexis Michael Tourapis | Fixed in Version | => JM 18.0 |
2011-03-09 20:20 | Alexis Michael Tourapis | Resolution | open => fixed |
2011-03-09 20:20 | Alexis Michael Tourapis | Assigned To | => Alexis Michael Tourapis |