View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000107 | JVT JM H.264/AVC reference software | encoder | public | 2008-04-11 22:37 | 2008-05-07 12:43 |
Reporter | Christian Schmidt | Assigned To | Karsten Suehring | ||
Priority | normal | Severity | minor | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Product Version | JM 13.2 | ||||
Fixed in Version | JM-14.1 | ||||
Summary | 0000107: Bits per picture calculation broken for multiple slices and/or data partitioning (breaks RD picture coding) | ||||
Description | Calculation of the # bits per coded frame/field only works correctly for single slices, and with data partitioning disabled: image.c :: frame_picture() { ... frame->bits_per_picture = 8 * ((((img->currentSlice)->partArr[0]).bitstream)->byte_pos); } image.c :: field_picture() { ... top->bits_per_picture = 8 * ((((img->currentSlice)->partArr[0]).bitstream)->byte_pos); ... bottom->bits_per_picture = 8 * ((((img->currentSlice)->partArr[0]).bitstream)->byte_pos); } As a result, RD picture coding (for frames) is broken when using multiple slices (e.g. SliceMode=2). ASFAIK, this does not affect rate control. Suggested fix (frame case): { int i, j; frame->bits_per_picture = 0; for ( i = 0; i < frame->no_slices; i++ ) { Slice *thisSlice = frame->slices[i]; for ( j = 0; j < thisSlice->max_part_nr; j++ ) frame->bits_per_picture += 8 * ((thisSlice->partArr[j]).bitstream)->byte_pos; } } | ||||
Tags | No tags attached. | ||||
Date Modified | Username | Field | Change |
---|---|---|---|
2008-04-11 22:37 | Christian Schmidt | New Issue | |
2008-05-07 12:43 | Karsten Suehring | Status | new => resolved |
2008-05-07 12:43 | Karsten Suehring | Fixed in Version | => JM-14.0-dev |
2008-05-07 12:43 | Karsten Suehring | Resolution | open => fixed |
2008-05-07 12:43 | Karsten Suehring | Assigned To | => Karsten Suehring |
2008-05-07 12:43 | Karsten Suehring | Note Added: 0000182 |