Граф коммитов

45 Коммитов

Автор SHA1 Сообщение Дата
Aryan Salmanpour b27fe23cd1 Return an error if the video parser creation fails (#45)
[ROCm/rocdecode commit: 9afec26af0]
2023-11-08 11:54:35 -05:00
Aryan Salmanpour d72a1ca3c5 Add support to GetDecoderCaps to correctly return decoder caps for gfx arch names with a suffix (#43)
[ROCm/rocdecode commit: 3a5fc3608b]
2023-11-08 10:25:45 -05:00
Aryan Salmanpour d9c139d2ab Add nullptr check for parser APIs before dereferencing the parser's handle (#44)
[ROCm/rocdecode commit: ecbd787e4a]
2023-11-08 10:18:17 -05:00
Aryan Salmanpour b459dc6f33 Add support for creating a vaapi context and surfaces for decoding (#41)
[ROCm/rocdecode commit: 2c940dd9d0]
2023-11-07 13:47:53 -05:00
Aryan Salmanpour e25ad867c0 Create the correct render node names on MI300A/MI300X (#38)
[ROCm/rocdecode commit: ba484a91a9]
2023-11-07 11:08:20 -05:00
jeffqjiangNew 39f7496dd3 * rocDecode/HEVC: Updated RocdecPicParams structure to align with VA-API. (#40)
[ROCm/rocdecode commit: 2f64a10c5a]
2023-11-06 22:06:03 -05:00
jeffqjiangNew 6a37f8bbb2 Decode callback step 1: Added skeleton decode callback to get the flow going. (#39)
* * rocDecode/HEVC: Added skeleton decode callback to get the flow going.

* *rocDecode/HEVC: Added error handling for decode call.

[ROCm/rocdecode commit: f56a64d832]
2023-11-06 22:04:25 -05:00
Aryan 043eb5e602 Update README
[ROCm/rocdecode commit: cefdfb7405]
2023-11-06 12:10:12 -05:00
Kiriti Gowda 7f64bb0b61 FFMPEG - Updates (#33)
* FFMPEG - Updates

* Readme - Updates

* Sample - Install

* Install Sample Deps

* Samples - Updates

* Sample - Added missing header

[ROCm/rocdecode commit: d34d85027c]
2023-11-06 11:51:47 -05:00
Lakshmi Kumar 295091beb8 Parser - sei message (#30)
* sei mesaage aprser

* sei callback fn

* copy payload and add condition for callback

* compile error fix

* review comments

* review  comment

[ROCm/rocdecode commit: 213ffc517e]
2023-11-06 09:25:09 -05:00
jeffqjiangNew 97f1b39d98 * rocDecode/HEVC: Fixed a bug in slice header parsing where short term RPS is not properly assigned when SPS short term RPS is referred and the number of these RPSs are 1. Also added error handling in ref list construction to avoid infinite looping. (#36)
[ROCm/rocdecode commit: f5e5d981e1]
2023-11-06 08:22:31 -05:00
Aryan Salmanpour 174b672159 Fix a bug in GetVideoCodecString function where it didn't return the correct codec string (#35)
[ROCm/rocdecode commit: 0d9b056ee5]
2023-11-06 08:20:53 -05:00
Aryan Salmanpour 0c7e31bbfa Add support for gfx1100 - update the vcn lookup table (#34)
[ROCm/rocdecode commit: f47fd89f62]
2023-11-02 22:05:17 -04:00
jeffqjiangNew 170cc43cfb Added all preparing steps in decode process before calling VA-API. (#32)
* rocDecode/HEVC parsing: Implemented correct logic to set active VPS, SPS and PPS: start from slice header and up. Added video image size change detection. Fixed slice_segment_address bits calculation in slice segment header parsing.

* rocDecode/HEVC: Changed variable naming to Google style.

* rocDecode/HEVC: Added VPS, SPS, PPS, and slice segment header content logging functions for debug purposes.

* rocDecode/HEVC: Compacted opening bracket lines to keep coding style consistency.

* * rocDecode/HEVC: Fixed an issue in profile-tier-level parsing where 44 bits are skipped in an incorrect way using ReadBits() which can only consume 32 bits max. Also formated SPS parsing code by using pointer instead of array element.

* * rocDecode/HEVC: Fixed the incorrect array size for sps_max_dec_pic_buffering_minus1, sps_max_num_reorder_pics and sps_max_num_reorder_pics in SPS structure define.

* * rocDecode/HEVC: Modified scaling list parsing to make sure we explicitly follow the spec.

* * rocDecode/HEVC: Added a few syntax elements to short team RPS structure, updated RPS parsing function and logging function.

* * rocDecode/HEVC: In PPS parsing function, use structure pointer instead of structure array element to improve coding clarity.

* * rocDecode/HEVC: Compacted the opening bracket lines. No functional changes.

* * rocDecode/HEVC: Added full parsing of slice segment header. Added PPS range extension parsing.

* * rocDecode/HEVC: Fixed a build error in debug mode due to merging from master branch: removing a redundant debug function.

* * rocDecode/HEVC: Changed the condition for sequence call back from picture size change to more general case where a new SPS is activated. Also moved the call from slice header parsing to upper level where frame data is processed.

* * rocDecode: Compacted opening bracket line. No functional changes.

* * rocDecode/HEVC: Moved POC calculation from slice header parsing to picture level, since we only need to do the calculation once per picture.

* * rocDecode/HEVC: Added RPS decode function.

* *rocDecode/HEVC: Added reference picture list construction.

* * rocDecode/HEVC: Added current picture marking in DPB.

* * rocDecode/HEVC: Removed VA surface id from DPB buffer info structure.

* * rocDecode/HEVC: Do not construct ref list for I pictures.

[ROCm/rocdecode commit: 7a537bbb88]
2023-11-02 18:08:24 -04:00
Aryan Salmanpour a227d5fbcf Fix a bug for the video sequence callback function (#31)
[ROCm/rocdecode commit: 874bd59d89]
2023-11-02 14:34:52 -04:00
Rajy Rawther 691521af5a roc_video_decode class update (#29)
* WIP: class implementation

* add more definitions

* rocvideodecode implementation

* formatting fixes

* address review comments

* rocvideodecode class update

* videodec sample app-enable all apis

[ROCm/rocdecode commit: 89a278bd1b]
2023-11-01 21:16:02 -04:00
Aryan Salmanpour b6557252a0 Add support for rocDecCreateDecoder API (#28)
* Add support for rocDecCreateDecoder API

* check the decoder config support before initializing the vaapi

* rename RocdecDecoderCreateInfo to RocDecoderCreateInfo

* fix a typo

[ROCm/rocdecode commit: 32f854c159]
2023-11-01 09:22:46 -04:00
jeffqjiangNew 9a80f51b34 HEVC: Sequence call back changes. (#27)
* rocDecode/HEVC parsing: Implemented correct logic to set active VPS, SPS and PPS: start from slice header and up. Added video image size change detection. Fixed slice_segment_address bits calculation in slice segment header parsing.

* rocDecode/HEVC: Changed variable naming to Google style.

* rocDecode/HEVC: Added VPS, SPS, PPS, and slice segment header content logging functions for debug purposes.

* rocDecode/HEVC: Compacted opening bracket lines to keep coding style consistency.

* * rocDecode/HEVC: Fixed an issue in profile-tier-level parsing where 44 bits are skipped in an incorrect way using ReadBits() which can only consume 32 bits max. Also formated SPS parsing code by using pointer instead of array element.

* * rocDecode/HEVC: Fixed the incorrect array size for sps_max_dec_pic_buffering_minus1, sps_max_num_reorder_pics and sps_max_num_reorder_pics in SPS structure define.

* * rocDecode/HEVC: Modified scaling list parsing to make sure we explicitly follow the spec.

* * rocDecode/HEVC: Added a few syntax elements to short team RPS structure, updated RPS parsing function and logging function.

* * rocDecode/HEVC: In PPS parsing function, use structure pointer instead of structure array element to improve coding clarity.

* * rocDecode/HEVC: Compacted the opening bracket lines. No functional changes.

* * rocDecode/HEVC: Added full parsing of slice segment header. Added PPS range extension parsing.

* * rocDecode/HEVC: Fixed a build error in debug mode due to merging from master branch: removing a redundant debug function.

* * rocDecode/HEVC: Changed the condition for sequence call back from picture size change to more general case where a new SPS is activated. Also moved the call from slice header parsing to upper level where frame data is processed.

* * rocDecode: Compacted opening bracket line. No functional changes.

[ROCm/rocdecode commit: 88a34e4db0]
2023-10-27 15:13:12 -04:00
Lakshmi Kumar cae878ccd4 sequence callback function (#25)
* seq callback function

* bug fix

* changing some params for callback

* review comments

* switch case

* fixing minor border cases

[ROCm/rocdecode commit: 47ede638a3]
2023-10-27 09:11:00 -04:00
jeffqjiangNew b713923621 Added full parsing of the slice segment header. (#26)
* rocDecode/HEVC parsing: Implemented correct logic to set active VPS, SPS and PPS: start from slice header and up. Added video image size change detection. Fixed slice_segment_address bits calculation in slice segment header parsing.

* rocDecode/HEVC: Changed variable naming to Google style.

* rocDecode/HEVC: Added VPS, SPS, PPS, and slice segment header content logging functions for debug purposes.

* rocDecode/HEVC: Compacted opening bracket lines to keep coding style consistency.

* * rocDecode/HEVC: Fixed an issue in profile-tier-level parsing where 44 bits are skipped in an incorrect way using ReadBits() which can only consume 32 bits max. Also formated SPS parsing code by using pointer instead of array element.

* * rocDecode/HEVC: Fixed the incorrect array size for sps_max_dec_pic_buffering_minus1, sps_max_num_reorder_pics and sps_max_num_reorder_pics in SPS structure define.

* * rocDecode/HEVC: Modified scaling list parsing to make sure we explicitly follow the spec.

* * rocDecode/HEVC: Added a few syntax elements to short team RPS structure, updated RPS parsing function and logging function.

* * rocDecode/HEVC: In PPS parsing function, use structure pointer instead of structure array element to improve coding clarity.

* * rocDecode/HEVC: Compacted the opening bracket lines. No functional changes.

* * rocDecode/HEVC: Added full parsing of slice segment header. Added PPS range extension parsing.

* * rocDecode/HEVC: Fixed a build error in debug mode due to merging from master branch: removing a redundant debug function.

[ROCm/rocdecode commit: 298d8e3a8f]
2023-10-26 11:38:46 -04:00
Kiriti Gowda 34f1cc3b8f Dynamic Link Libraries - updates (#23)
* DRM - deps updates

* Link Libraries - Updates & cleanup

* LibDRM - Find in SLES fix

* Make Test - Fix Failures

[ROCm/rocdecode commit: 2af10a5d80]
2023-10-25 18:56:36 -04:00
jeffqjiangNew ea743aa3af Merge a few fixes and updates of HEVC parsing into main. (#24)
* rocDecode/HEVC parsing: Implemented correct logic to set active VPS, SPS and PPS: start from slice header and up. Added video image size change detection. Fixed slice_segment_address bits calculation in slice segment header parsing.

* rocDecode/HEVC: Changed variable naming to Google style.

* rocDecode/HEVC: Added VPS, SPS, PPS, and slice segment header content logging functions for debug purposes.

* rocDecode/HEVC: Compacted opening bracket lines to keep coding style consistency.

* * rocDecode/HEVC: Fixed an issue in profile-tier-level parsing where 44 bits are skipped in an incorrect way using ReadBits() which can only consume 32 bits max. Also formated SPS parsing code by using pointer instead of array element.

* * rocDecode/HEVC: Fixed the incorrect array size for sps_max_dec_pic_buffering_minus1, sps_max_num_reorder_pics and sps_max_num_reorder_pics in SPS structure define.

* * rocDecode/HEVC: Modified scaling list parsing to make sure we explicitly follow the spec.

* * rocDecode/HEVC: Added a few syntax elements to short team RPS structure, updated RPS parsing function and logging function.

* * rocDecode/HEVC: In PPS parsing function, use structure pointer instead of structure array element to improve coding clarity.

* * rocDecode/HEVC: Compacted the opening bracket lines. No functional changes.

[ROCm/rocdecode commit: 8347fc7b0c]
2023-10-24 16:20:56 -04:00
Aryan Salmanpour 956857c0ae Add support for the rocDecGetDecoderCaps API (#21)
* Add support for the rocDecGetDecoderCaps API

* move the RocDecVcnCodecSpec class to a new header file

[ROCm/rocdecode commit: bf830a2678]
2023-10-24 08:40:58 -04:00
Kiriti Gowda ad26872bd5 ROCm Path - Options (#22)
[ROCm/rocdecode commit: 1a06c45b7d]
2023-10-23 16:16:53 -04:00
Rajy Rawther db6dbf7076 Rr/roc video decode class (#20)
* WIP: class implementation

* add more definitions

* rocvideodecode implementation

* formatting fixes

* address review comments

[ROCm/rocdecode commit: d0e6743872]
2023-10-23 12:16:45 -04:00
jeffqjiangNew 9b158f2b07 Add debug functions to log parsed parameter set and header content. (#19)
* rocDecode/HEVC parsing: Implemented correct logic to set active VPS, SPS and PPS: start from slice header and up. Added video image size change detection. Fixed slice_segment_address bits calculation in slice segment header parsing.

* rocDecode/HEVC: Changed variable naming to Google style.

* rocDecode/HEVC: Added VPS, SPS, PPS, and slice segment header content logging functions for debug purposes.

* rocDecode/HEVC: Compacted opening bracket lines to keep coding style consistency.

[ROCm/rocdecode commit: ebe1748888]
2023-10-20 10:39:21 -04:00
jeffqjiangNew b51ce09f9b Jj/hevc decode wip (#18)
* rocDecode/HEVC parsing: Implemented correct logic to set active VPS, SPS and PPS: start from slice header and up. Added video image size change detection. Fixed slice_segment_address bits calculation in slice segment header parsing.

* rocDecode/HEVC: Changed variable naming to Google style.

[ROCm/rocdecode commit: 94ff35e03c]
2023-10-19 14:07:36 -04:00
Lakshmi Kumar 97c97bcf39 bug fixes from merging (#17)
[ROCm/rocdecode commit: 856611768f]
2023-10-18 18:36:19 -04:00
Lakshmi Kumar 2fb59a95af Hevc parser (#15)
* basic parser create

* adding data_stream

* buildable parser

* query output and required fucntions

* latest changes

* alloc buffer and other functions

* parses first frame

* parser finds all frames

* parser dump size correct - dump file included

* clean up

* merge conflicts and file restructure

* uses updated video demuxer

* undoing changes to sample app

* cleaning code

* cleaning code

* removing dwarf flag from compile

* formatting changes

* change variable names as per google standard

* struct naming convention

* struct name

* remove parser data class and combine into parser buffer

* remove context class and clean up

* remove log file and use commons

* move class to .h file

* removing unused functions

* removes platform.h

* removing datastream class

* formatting

* remove byte_array, rename enums

* clean up

* spacing

* rearrange to fit master

* removes bit_strea_parser class, combines common stuff to roc_video_parser file

* new commit for hevc parser

* taking changes from AVC parser

* rocDecode/HEVC parser: Added frame data parsing support.

* rocDeocde/HEVC parser: Fixed bit offset settings in SPS/PPS/Slice header parsing.

* clean code

* bug fix, comments fo doxygen, clean up

* remove unnecessary files

* reverting to original sample

* resolve merge conflicts

* fix missing code

* bug fixes from merge conflicts

* remove unnecessary files

* clean up

---------

Co-authored-by: Jeff JIang <jeffq.jiang@amd.com>

[ROCm/rocdecode commit: a1506f7ddb]
2023-10-18 09:01:44 -04:00
Aryan Salmanpour 805fca702b Add initialization of the roc_decoder member variable in the DecHandle class constructor. (#13)
[ROCm/rocdecode commit: e5dec6dff4]
2023-10-13 15:53:35 -04:00
Kiriti Gowda d94dd49f67 CI - run setup.py (#14)
Fix typo

[ROCm/rocdecode commit: 8bab60ee0f]
2023-10-12 19:12:01 -04:00
Kiriti Gowda d999d85964 Package & Tests - ROCm Release Updates (#11)
* rocDecode Updates

* Doxygen - Fix

* CMakeLists - Fix

* Jenkins - Files

* Samples - Fix

* CTest - Fix

* Changelog - Added

* Fix - Review comments

[ROCm/rocdecode commit: aa72eb1996]
2023-10-12 17:08:12 -04:00
Lakshmi Kumar 04f3ecc0e9 HEVC Parser (#9)
* basic parser create

* adding data_stream

* buildable parser

* query output and required fucntions

* latest changes

* alloc buffer and other functions

* parses first frame

* parser finds all frames

* parser dump size correct - dump file included

* clean up

* merge conflicts and file restructure

* uses updated video demuxer

* undoing changes to sample app

* cleaning code

* cleaning code

* removing dwarf flag from compile

* formatting changes

* change variable names as per google standard

* struct naming convention

* struct name

* remove parser data class and combine into parser buffer

* remove context class and clean up

* remove log file and use commons

* move class to .h file

* removing unused functions

* removes platform.h

* removing datastream class

* formatting

* remove byte_array, rename enums

* clean up

* spacing

* rearrange to fit master

* removes bit_strea_parser class, combines common stuff to roc_video_parser file

[ROCm/rocdecode commit: 4ca0d02bb0]
2023-10-05 11:20:07 -04:00
Rajy Rawther dcc6ee9f2a parser high level class implementation (#10)
* rocDecode api defintions added for decoder and parser

* addressed review comments and changed struct names to CamelCase

* minot reformatting

* parser high level class implementation

[ROCm/rocdecode commit: 0a991c1776]
2023-09-27 15:14:28 -04:00
Aryan 392298f111 update readme fand dockers fr adding oinstallation ption to exclude 32 bit pgraphics pckage, add update dockers to 5.7
[ROCm/rocdecode commit: 0d64288559]
2023-09-19 10:33:24 -04:00
Aryan Salmanpour 6f06137ef6 clean up the VideoDemuxer class to make it follow the Google c++ style (#7)
[ROCm/rocdecode commit: b05e69b953]
2023-09-15 14:19:14 -04:00
Rajy Rawther 4e71d63a50 rocDecode api defintions added for decoder and parser (#6)
* rocDecode api defintions added for decoder and parser

* addressed review comments and changed struct names to CamelCase

* minot reformatting

[ROCm/rocdecode commit: 4ea67e279d]
2023-09-14 10:33:28 -04:00
jeffqjiangNew d7cc20e42f Fix a link error when building the sample apps. (#5)
[ROCm/rocdecode commit: 3767aae7a1]
2023-09-13 11:16:28 -04:00
rrawther 3166c5a793 fix for formatting
[ROCm/rocdecode commit: 79c338fc72]
2023-08-21 14:32:36 -07:00
rrawther 203a84ced0 address review comments and some other code formatting
[ROCm/rocdecode commit: 8f692d8118]
2023-08-21 11:38:17 -07:00
rrawther c522837dcc added api initial implementation
[ROCm/rocdecode commit: 35f7154e0c]
2023-08-14 14:14:09 -07:00
Aryan dce0c0ab0f update ReadME
[ROCm/rocdecode commit: ac3bd4fe2a]
2023-07-26 18:09:01 -04:00
Aryan 5b112f2c5c Add initial cmake support for building the rocdecode library
[ROCm/rocdecode commit: 1ba367988d]
2023-07-26 17:47:47 -04:00
Rajy Rawther 912031c592 rocDecode repo initial commit (#1)
* rocDecode repo initial commit

* resolve review comments

[ROCm/rocdecode commit: 5b305a56ae]
2023-06-22 12:39:54 -04:00
Kiriti Gowda 5ce57d3395 Initial commit
[ROCm/rocdecode commit: 9a5e97c783]
2023-06-12 14:45:01 -07:00