Gráfico de commits

15 Commits

Autor SHA1 Mensaje Fecha
Lakshmi Kumar 213ffc517e Parser - sei message (#30)
* sei mesaage aprser

* sei callback fn

* copy payload and add condition for callback

* compile error fix

* review comments

* review  comment
2023-11-06 09:25:09 -05:00
jeffqjiangNew f5e5d981e1 * 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) 2023-11-06 08:22:31 -05:00
jeffqjiangNew 7a537bbb88 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.
2023-11-02 18:08:24 -04:00
Aryan Salmanpour 874bd59d89 Fix a bug for the video sequence callback function (#31) 2023-11-02 14:34:52 -04:00
jeffqjiangNew 88a34e4db0 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.
2023-10-27 15:13:12 -04:00
Lakshmi Kumar 47ede638a3 sequence callback function (#25)
* seq callback function

* bug fix

* changing some params for callback

* review comments

* switch case

* fixing minor border cases
2023-10-27 09:11:00 -04:00
jeffqjiangNew 298d8e3a8f 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.
2023-10-26 11:38:46 -04:00
jeffqjiangNew 8347fc7b0c 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.
2023-10-24 16:20:56 -04:00
Rajy Rawther d0e6743872 Rr/roc video decode class (#20)
* WIP: class implementation

* add more definitions

* rocvideodecode implementation

* formatting fixes

* address review comments
2023-10-23 12:16:45 -04:00
jeffqjiangNew ebe1748888 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.
2023-10-20 10:39:21 -04:00
jeffqjiangNew 94ff35e03c 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.
2023-10-19 14:07:36 -04:00
Lakshmi Kumar 856611768f bug fixes from merging (#17) 2023-10-18 18:36:19 -04:00
Lakshmi Kumar a1506f7ddb 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>
2023-10-18 09:01:44 -04:00
Lakshmi Kumar 4ca0d02bb0 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
2023-10-05 11:20:07 -04:00
Rajy Rawther 0a991c1776 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
2023-09-27 15:14:28 -04:00