-
Notifications
You must be signed in to change notification settings - Fork 148
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Video Encode API: BFrames not supported on RX 4xx? #8
Comments
Yes, R9 480 does not support B-frames. You can try new SDK on both HW for consistency. |
I think you meant RX480, if so how is this possible? |
Yes, HW change. |
Does that mean that Vega and Polaris will not support B-Frame encoding, lowering recording quality? That seems like a strange upgrade from VCE 3.0, are you sure it isn't temporarily disabled until the driver side libraries are ready? |
Not totally related, but Polaris definitely supports B-Frames when encoding H.265. Encoding some now. |
@Roph Using the AMF SDK or Media Foundation implementation? |
Using a very early development transcoder. I believe the developer used the new SDK. |
AMD_Robert just said it may be a mistake: https://www.reddit.com/r/Amd/comments/4y10gr/today_we_released_a_new_version_of_the_amd_media/d6qb71o |
AMD does not support B-frames for HEVC and H264 on this chip yet. |
Are you sure about that? Using an early test build transcoder I'm able to specify B-frames from 0-3 using HEVC on VCE: You can find test transcodes/discussion here: http://forum.videohelp.com/threads/380081-AMD-Polaris-(Radeon-RX-4xx)-H265-Encoding-Samples I'm not able to check for the presence of actual B-frames in the resulting HEVC video; MediaInfo is the most verbose tool I know of and that doesn't specify. |
@Roph: If I read your thread right, you have access to a private repository for the SDK? Does that mean that whatever is currently forcing BFrame support to off is version-specific for the SDK? I've seen many log files for the RX 4xx series now and the capability reporting always shows BFrames as "Not Supported". |
Not to the SDK, a developer of VCE-enabled video transcoding software put together an untested new build for me using the new SDK with H265 support. He doesn't have a polaris GPU to test on yet. It definitely works and produces good (for a GPU) quality HEVC, I can't confirm if it's actually using B-Frames though. |
But... the SDK doesn't have H265 support yet. Unless he is using the Media Foundation encoder, then it would make sense. (Still impressive speeds for media foundation) |
StreamEye can show you if it encodes b-frames or not but it seems not to work on roph's files for some reason even after remux to mkv |
They probably used HEVC encoder MFT. HEVC Encoder AMF was not published yet. But the MFT is built on AMF :) |
@Tukan40 HEVC Encoder is already in the driver side, all it took me to use it was to create the correct component. |
Keep in mind that there is no B-frames there. It is a bug in app or MFT reports wrong capabilities. |
Well, I stepped further into the encoder sent by @Roph to me and it indeed seems to be MFT. I have not found a single reference to amfrt32.dll or amfrt64.dll or any wrappers for the c++ classes. So, yes, it's most likely Windows Media Foundation fucking up again. |
Yes and no. The MFT is not calling AMF runtime but is built from the same source base. Though, for now one still needs to go through Media Foundation APIs to call it. |
So to clarify @MikhailAMD, is this a software/driver issue or a hardware one? You said AMD doesn't support B-frames on this chip yet, which seems to imply the former. Earlier though you say the chip itself doesn't support them. A little confused. |
Consulted with HW team: we do not have H264 B-frame encode support in RX480 GPU. |
I guess that was to be expected, the RX 460/70/80 is the low to mid-end spectrum anyway. HEVC and Two Pass encoding will help a lot for this anyway. |
Can someone confirm if AMD's VCE on Polaris supports weighted prediction encoding for H.264 and H.265? |
weighted prediction is not supported on Polaris. |
I get this result when querying the AMF Encoder for capabilities. The RX 480 has a newer VCE (sub-)generation, shouldn't it support BFrames like the R9 380/R9 285?
This is the output when I select the R9 285 (using the older SDK).
The text was updated successfully, but these errors were encountered: