Fixed several issues with cropping. (#275)
* * rocDecode: Fixed several issues with cropping. - Fixed the pixel start offset error on streams with non-zero top/left cropping in MD5 calculation. - Fixed the pixel start offset error on streams with non-zero top/left cropping, and/or with user specified cropping in YUV frame output. - Sorted out code which deals with cropping area specifiied by the bitstream, and cropping area specified by the user. * * rocDecode: Additional changes after discussion. - Set display rect for decoder create/reconfig to displayable area or user specified ROI area. - Do not set target rect for decoder create/reconfig. Leave it for future use. - Unified naming of display rect in decoder create/reconfig structs. * * rocDecode: Put back the extra rounding to target width/height specifiied by the coded stream, for peace of mind, based on code review. * * rocDecode: Added the missing stream specified cropping offset to the starting pixel pointer for none-internal memory modes. --------- Co-authored-by: Aryan Salmanpour <aryan.salmanpour@amd.com>
This commit is contained in:
@@ -144,8 +144,8 @@ void ParseCommandLine(std::deque<FileInfo> *multi_file_data, int &device_id, boo
|
||||
} else if (!strcmp(param, "flush")) {
|
||||
file_data.b_flush_last_frames = atoi(value) ? true : false;
|
||||
} else if (!strcmp(param, "crop")) {
|
||||
sscanf(value, "%d,%d,%d,%d", &file_data.crop_rect.l, &file_data.crop_rect.t, &file_data.crop_rect.r, &file_data.crop_rect.b);
|
||||
if ((file_data.crop_rect.r - file_data.crop_rect.l) % 2 == 1 || (file_data.crop_rect.b - file_data.crop_rect.t) % 2 == 1) {
|
||||
sscanf(value, "%d,%d,%d,%d", &file_data.crop_rect.left, &file_data.crop_rect.top, &file_data.crop_rect.right, &file_data.crop_rect.bottom);
|
||||
if ((file_data.crop_rect.right - file_data.crop_rect.left) % 2 == 1 || (file_data.crop_rect.bottom - file_data.crop_rect.top) % 2 == 1) {
|
||||
std::cout << "Cropping rect must have width and height of even numbers" << std::endl;
|
||||
exit(1);
|
||||
}
|
||||
|
||||
Fai riferimento in un nuovo problema
Block a user