GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Video Encode API: BFrames not supported on RX 4xx? · Issue #8 · GPUOpen-LibrariesAndSDKs/AMF

Video Encode API: BFrames not supported on RX 4xx? #8

New issue
Copy link
New issue
Copy link
Closed
Closed
Video Encode API: BFrames not supported on RX 4xx?#8
Copy link

Description

@Xaymar
Xaymar
opened on Aug 20, 2016
Issue body actions
10:41:06.215: [AMF Encoder]  Type | Acc.Type | Max Bitrate | Stream # | Max Profile | Max Level | BFrames | Ref. Frames | Layer # | FSM | Instance #   
10:41:06.215: [AMF Encoder]   AVC | Hardware |   100000000 |       16 |         100 |        52 |      No |    1 -   16 |       1 |  No |          1  
10:41:06.215: [AMF Encoder]   SVC | Hardware |   100000000 |       16 |         100 |        51 |      No |    1 -   16 |       3 |  No |          1 

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).

10:41:06.215: [AMF Encoder]  Type | Acc.Type | Max Bitrate | Stream # | Max Profile | Max Level | BFrames | Ref. Frames | Layer # | FSM | Instance # 
10:41:06.215: [AMF Encoder]   AVC | Hardware |  1000000000 |       16 |         100 |        51 |     Yes |    1 -   16 |       1 |  No |          1 
10:41:06.215: [AMF Encoder]   SVC | Hardware |  1000000000 |       16 |         100 |        42 |     Yes |    1 -   16 |       3 |  No |          1 

Activity

  1. MikhailAMD commented on Aug 20, 2016

    @MikhailAMD
    MikhailAMD
    on Aug 20, 2016
    Collaborator
    More actions

    Yes, R9 480 does not support B-frames. You can try new SDK on both HW for consistency.

    Reacted by mirh
    Reacted by Roph
  2. kytos22 commented on Aug 20, 2016

    @kytos22
    kytos22
    on Aug 20, 2016
    More actions

    I think you meant RX480, if so how is this possible?

  3. MikhailAMD commented on Aug 20, 2016

    @MikhailAMD
    MikhailAMD
    on Aug 20, 2016
    Collaborator
    More actions

    Yes, HW change.

  4. Xaymar commented on Aug 20, 2016

    @Xaymar
    Xaymar
    on Aug 20, 2016
    ContributorAuthor
    More actions

    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?

  5. Roph commented on Aug 21, 2016

    @Roph
    Roph
    on Aug 21, 2016
    More actions

    Not totally related, but Polaris definitely supports B-Frames when encoding H.265. Encoding some now.

  6. Xaymar commented on Aug 21, 2016

    @Xaymar
    Xaymar
    on Aug 21, 2016
    ContributorAuthor
    More actions

    @Roph Using the AMF SDK or Media Foundation implementation?

  7. Roph commented on Aug 21, 2016

    @Roph
    Roph
    on Aug 21, 2016
    More actions

    Using a very early development transcoder. I believe the developer used the new SDK.

  8. kytos22 commented on Aug 22, 2016

    @kytos22
    kytos22
    on Aug 22, 2016
    More actions

    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

  9. MikhailAMD commented on Aug 22, 2016

    @MikhailAMD
    MikhailAMD
    on Aug 22, 2016
    Collaborator
    More actions

    AMD does not support B-frames for HEVC and H264 on this chip yet.

  10. Roph commented on Aug 23, 2016

    @Roph
    Roph
    on Aug 23, 2016
    More actions

    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:

    so7tnwb

    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.

  11. Xaymar commented on Aug 23, 2016

    @Xaymar
    Xaymar
    on Aug 23, 2016
    ContributorAuthor
    More actions

    @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".

  12. Roph commented on Aug 23, 2016

    @Roph
    Roph
    on Aug 23, 2016
    More actions

    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.

  13. Xaymar commented on Aug 23, 2016

    @Xaymar
    Xaymar
    on Aug 23, 2016
    ContributorAuthor
    More actions

    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)

  14. nwgat commented on Aug 23, 2016

    @nwgat
    nwgat
    on Aug 23, 2016
    More actions

    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

  15. MikhailAMD commented on Aug 23, 2016

    @MikhailAMD
    MikhailAMD
    on Aug 23, 2016
    Collaborator
    More actions

    They probably used HEVC encoder MFT. HEVC Encoder AMF was not published yet. But the MFT is built on AMF :)

  16. Xaymar commented on Aug 23, 2016

    @Xaymar
    Xaymar
    on Aug 23, 2016
    ContributorAuthor
    More actions

    @Tukan40 HEVC Encoder is already in the driver side, all it took me to use it was to create the correct component.

  17. MikhailAMD commented on Aug 23, 2016

    @MikhailAMD
    MikhailAMD
    on Aug 23, 2016
    Collaborator
    More actions

    Keep in mind that there is no B-frames there. It is a bug in app or MFT reports wrong capabilities.

  18. Xaymar commented on Aug 23, 2016

    @Xaymar
    Xaymar
    on Aug 23, 2016
    ContributorAuthor
    More actions

    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.

  19. MikhailAMD commented on Aug 23, 2016

    @MikhailAMD
    MikhailAMD
    on Aug 23, 2016
    Collaborator
    More actions

    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.

  20. Roph commented on Sep 28, 2016

    @Roph
    Roph
    on Sep 28, 2016
    More actions

    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.

  21. MikhailAMD commented on Oct 3, 2016

    @MikhailAMD
    MikhailAMD
    on Oct 3, 2016
    Collaborator
    More actions

    Consulted with HW team: we do not have H264 B-frame encode support in RX480 GPU.

    Reacted by Marcos Vidal Martinez, Xaymar, locodicegr, Roph, Dennis E. Mungai , mirh and Daniel Langbein
    Reacted by Atemu
  22. Xaymar commented on Oct 3, 2016

    @Xaymar
    Xaymar
    on Oct 3, 2016
    ContributorAuthor
    More actions

    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.

  23. Xaymar
    closed this as completedon Oct 3, 2016
  24. Brainiarc7 commented on Jul 13, 2017

    @Brainiarc7
    Brainiarc7
    on Jul 13, 2017
    More actions

    Can someone confirm if AMD's VCE on Polaris supports weighted prediction encoding for H.264 and H.265?

  25. MikhailAMD commented on Jul 13, 2017

    @MikhailAMD
    MikhailAMD
    on Jul 13, 2017
    Collaborator
    More actions

    weighted prediction is not supported on Polaris.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      You are visitor 01402503 — GeezerVison does not store the pages you look up.
      Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.