I have recently started working on a project involving the use of the AMD OpenVideo Encode which is re-written from the example titled openEncode.zip found here. I have a Radeon HD7970 and am running Win 7 x64 in the development / test machine for this encoder.
I have encountered a few issues with the encoder, and was hoping for some guidance from AMD and/or other developers, but the biggest issue so far is that the resolution is limited to 1920x1088. I'm looking to use the encoder to stream video from a workstation to another, so support of higher resolutions is required. Does (or can) the hardware support higher resolutions?
"Ready for the world’s highest-resolution displays: Featuring full support for HDMI® (with 4K) and DisplayPort 1.2 HBR2, the AMD Radeon™ HD 7970 GHz Edition is ready for displays up to 4096x2160."
It might be ready for displays up to 4096x2160, but if I can't get more than 1920x1088 pixels to encode from it, then I have a problem you see.
I have working code which grabs frames from a live app (the Unigine Heaven demo works great for this) and stuffs them into this library, and then takes the output and decodes it via ffmpeg, just so I can validate/debug that the encoder is working. When I run at 800x600, the encoder produces 800x608 sized output video.
Is there a way to tell the AMD Encoder *not* to expand the encoded frame size to round up to the nearest macro block? I have so far tried to use the encCropBottomOffset parameter of the OVE_CONFIG_PICTURE_CONTROL struct, but it doesn't seem to make a difference.