Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • gst-plugins-bad gst-plugins-bad
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 972
    • Issues 972
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 101
    • Merge requests 101
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar

Due to an influx of spam, we have had to impose restrictions on new accounts. Please see this wiki page for instructions on how to get full permissions. Sorry for the inconvenience.

  • GStreamerGStreamer
  • gst-plugins-badgst-plugins-bad
  • Merge requests
  • !2525

d3d11decoder: Refactor for more unified decoding flow

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Seungha Yang requested to merge seungha.yang/gst-plugins-bad:d3d11-another-cleanup into master Sep 16, 2021
  • Overview 2
  • Commits 3
  • Pipelines 4
  • Changes 31
    d3d11decoder: Refactor for more unified decoding flow

    ... and various code cleanup.

    * Move spreaded decoding API calls into one method
    Previously, decoding flow of most codecs are
    - Call DecoderBeginFrame() on start_picture()
    - Call {Get,Release}DecoderBuffer() on decode_slice()
    - Call SubmitDecoderBuffers() and DecoderEndFrame() on end_picture()
    Such spreaded API calls make it hard to keep track of status
    of decoding. Now it will be done at once in a new method.

    * Drop a code for non-zero wBadSliceChopping
    When bitstream buffer provided by driver is not sufficient
    to write compressed bitstream data, host decoder needs to make use
    of wBadSliceChopping so that driver can understand there are
    multiple bitstream buffer. But it's a bit unrealistic and
    not tested. Since FFMpeg's DXVA implemetaion doesn't support it,
    we might be able to ignore the case for now.

    * Make code more portable
    Consider common logic of GstCodecs -> DXVA translation for all D3D APIs
    (i,e., D3D9, D3D11, and D3D12).
    d3d11decoder: Remove duplicated class_init and property related code

    Move them into the decoder helper code to remove duplication
    d3d11: Get rid of "extern "C"" wrapping for GST_DEBUG_CATEGORY_EXTERN

    Instead, change the file defining debug category to cpp
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: d3d11-another-cleanup