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
add prediction direction caps report #220
Conversation
|
I think VAConfigAttribEncMaxRefFrames have implicit support the Frame Type query, why we need another repetitive caps for Frame type query? |
|
VAConfigAttribEncMaxRefFrames can only represent the forward/backward reference number, but cant distinguish the difference between P and low delay B. although low-delay B have two reference list, but both reference list only has forward reference frame. |
|
I think you need to define more precisely what this actually means for each codec. For H.264 / H.265, the low-delay B type gives you two lists but disallows bidirectional prediction modes in the macroblocks? Or would there be a requirement that the POC values must always be increasing? For VP9, the P type constrains all reference frames to have the same sign bias, while the two B types allow different sign bias but for the low-delay B type bidirectional prediction is not allowed? For MPEG-2, the P and B types are the usual frame types, and low-delay B is not allowed? |
|
@fhvwy yes,agree with you, frame types definition should be different with different codec. but there should be some duplicate. adding some comments to describe low delay is only for h264 and h265? |
|
Sure, if the low-delay type doesn't apply to others then they don't need to be defined there. It does still need a clear definition of what the frame types mean for the codecs which do support them, though. |
|
https://bugzilla.gnome.org/show_bug.cgi?id=796984 would depend on this API |
8a049f3
to
b770236
Compare
|
@fhvwy hi Mark, how about current solution. combine the frame type and active reference frame number together to support low delay b? |
| #define VA_FRAME_TYPE_P 0x00000001 | ||
| /** \brief Driver support B frame for MPEG2, H264, HEVC */ | ||
| #define VA_FRAME_TYPE_B 0x00000002 | ||
| /**@}*/ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For H.26[45] this is really slice types rather than frame types? (Frame types aren't really a thing in those codecs.)
Perhaps a table defining it precisely would make this clearer. From what you've said I think what you want is:
| Codec | Always available | Also available with VA_FRAME_TYPE_P |
Also available with VA_FRAME_TYPE_B |
|---|---|---|---|
| MPEG-2 | picture_coding_type = 1 |
picture_coding_type = 2 |
picture_coding_type = 3 |
| H.264 | slice_type = 2 or 7 |
slice_type = 0 or 5 |
slice_type = 1 or 6 |
| H.265 | slice_type = 2 |
slice_type = 0 |
slice_type = 1 |
| VP8 | key_frame = 1 |
key_frame = 0 |
- |
| VP9 | frame_type = 0 or intra_only = 1 |
frame_type = 1 and intra_only = 0 |
- |
| MJPEG | Everything | - | - |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
hi @fhvwy , thanks a lot for your comments, agree with you , mostlikely , the P, B is slice type. but it is a little complex. I prefer to change the attrib to prediction direction support.
if only support low delay B: reference list0, reference list 1 represented by VAConfigAttribEncMaxRefFrames should be non zero value. and only forward direction is supported.
e9ffe81
to
acbdea1
Compare
|
change the PR . report a caps to indicate whether the forward (POC < current frame) or backward (POC> current frame) prediction is supported. |
|
if no further comments, I will merge it in 1 week |
|
I don't understand the intent of this new proposal is. The POC order has no effect on anything the encoder itself supports - the user is providing the reference frames directly, so it doesn't matter what order the frames are output in (though it could make use of it as a hint, and will need it if writing headers). It's also unclear what the meaning would be for VP9, which does not have any global ordering number. I assume this proposal is still wanting to cover the hardware bug referred to elsewhere in which some sorts of frames are not supported. Would it be possible to explain precisely what the error is there? |
|
hi ,@fhvwy , the issue is, media driver low power HEVC encode just support I frame and low delay B frame (Generalized P and B picture). which need the L0 & L1 is totally same. so we need a capability to export it. for low delay B frame, the two reference list is same previous frames. no reference frame in future. the old attribute VAConfigAttribEncMaxRefFrames just can identify the reference number. want an interfaces tell application , driver just support low delay B , not normal B. such like:https://github.com/intel/libva/blob/master/va/va_enc_hevc.h#L462 ps: I need to check whether media driver can enable normal B frames , will update later |
|
intel ICL low power encode, no future frame in L1. I afraid that some one set the B frame, and set normal reference frames, but encoder failed because driver only support low-delay B. it's why I want to add this attributes, do you have other ideas to let application know the limitations? |
|
Did not follow the thread. But adding a capability attribute for this (random access B) is reasonable.
Thanks,
Ce
From: XinfengZhang [mailto:notifications@github.com]
Sent: Saturday, May 25, 2019 8:43 AM
To: intel/libva <libva@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Subject: Re: [intel/libva] add prediction direction caps report (#220)
intel ICL low power encode, no future frame in L1. I afraid that some one set the B frame, and set normal reference frames, but encoder failed because driver only support low-delay B. it's why I want to add this attributes, do you have other ideas to let application know the limitations?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub<#220?email_source=notifications&email_token=AISIW3X446WSQYECUKL2QR3PXFM7JA5CNFSM4FFEYGJ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWHUDUA#issuecomment-495927760>, or mute the thread<https://github.com/notifications/unsubscribe-auth/AISIW3UJVZX2MFRMEEU5LJTPXFM7JANCNFSM4FFEYGJQ>.
|
va/va.h
Outdated
| * this attribute conveys the prediction direction (backward or forword) for specific config | ||
| * the value could be VA_PREDICTION_DIRECTION_XXXX. it can be combined with VAConfigAttribEncMaxRefFrames | ||
| * to describe reference list , and the prediction direction. if this attrib is not present, or value == 0, | ||
| * frame prediction can be deduced by VAConfigAttribEncMaxRefFrames. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How is the frame prediction deduced? It would be better to detail it in the comment.
You defined VA_PREDICTION_DIRECTION_PREVIOUS (1) and VA_PREDICTION_DIRECTION_FUTURE (2) only, how is the value set to 0?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if this attrib is not present, or value == 0,
* frame prediction can be deduced by VAConfigAttribEncMaxRefFrames.
a5fa480
to
33fdd5f
Compare
5edb630
to
e7d296a
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM with the latest version
report which prediction direction is supported by driver Signed-off-by: XinfengZhang <carl.zhang@intel.com>
Allow user to choose between I/P/B frames:
- normal
Ordinary IB..BPB..B GOP structure.
- low delay B-frames:
IB..B GOP structure, P frames replaced by B frames, allows forward-predict
only for all B frames, L0 == L1, supported on ICL+ platforms, required by
VDENC(low_power).
- reference B-frames:
Convert P-frames to low delay B-frames, normal B frames still have
2 different ref_lists and allow bi-prediction.
Low delay B:
<http://what-when-how.com/Tutorial/topic-397pct9eq3/High-Efficiency-Video-Coding-HEVC-288.html>
There is an on-going work in libva and media-driver to add querys
support for low delay b, would add it once it's ready:
intel/libva#220
intel/libva#364
intel/media-driver#721
Signed-off-by: Linjie Fu <linjie.fu@intel.com>
Allow user to choose between I/P/B frames:
- normal
Ordinary IB..BPB..B GOP structure.
- low delay B-frames:
IB..B GOP structure, P frames replaced by B frames, allows forward-predict
only for all B frames, L0 == L1, required by VDENC(low_power),
optional for VMEPAK.
- reference B-frames:
Convert P-frames to low delay B-frames, normal B frames still have
2 different ref_lists and allow bi-prediction.
Low delay B:
<http://what-when-how.com/Tutorial/topic-397pct9eq3/High-Efficiency-Video-Coding-HEVC-288.html>
There is an on-going work in libva and media-driver to add querys
support for low delay b, would add it once it's ready:
intel/libva#220
intel/libva#364
intel/media-driver#721
Signed-off-by: Linjie Fu <linjie.fu@intel.com>
Allow user to choose between I/P/B frames:
- normal
Ordinary IB..BPB..B GOP structure.
- low delay B-frames:
IB..B GOP structure, P frames replaced by B frames, allows forward-predict
only for all B frames, L0 == L1, required by VDENC(low_power),
optional for VMEPAK.
- reference B-frames:
Convert P-frames to low delay B-frames, normal B frames still have
2 different ref_lists and allow bi-prediction.
Low delay B:
<http://what-when-how.com/Tutorial/topic-397pct9eq3/High-Efficiency-Video-Coding-HEVC-288.html>
There is an on-going work in libva and media-driver to add querys
support for low delay b, would add it once it's ready:
intel/libva#220
intel/libva#364
intel/media-driver#721
Rebased a bit for this internal branch.
Signed-off-by: Linjie Fu <linjie.fu@intel.com>
it is a suppliment of #220 to distinguish P frame and low delay B frame Signed-off-by: Carl Zhang <carl.zhang@intel.com>
Allow user to choose between I/P/B frames:
- normal
Ordinary IB..BPB..B GOP structure.
- low delay B-frames:
IB..B GOP structure, P frames replaced by B frames, allows forward-predict
only for all B frames, L0 == L1, required by VDENC(low_power),
optional for VMEPAK.
- reference B-frames:
Convert P-frames to low delay B-frames, normal B frames still have
2 different ref_lists and allow bi-prediction.
Low delay B:
<http://what-when-how.com/Tutorial/topic-397pct9eq3/High-Efficiency-Video-Coding-HEVC-288.html>
There is an on-going work in libva and media-driver to add querys
support for low delay b, would add it once it's ready:
intel/libva#220
intel/libva#364
intel/media-driver#721
Rebased a bit for this internal branch.
Signed-off-by: Linjie Fu <linjie.fu@intel.com>
Allow user to choose between I/P/B frames:
- normal
Ordinary IB..BPB..B GOP structure.
- low delay B-frames:
IB..B GOP structure, P frames replaced by B frames, allows forward-predict
only for all B frames, L0 == L1, required by VDENC(low_power),
optional for VMEPAK.
- reference B-frames:
Convert P-frames to low delay B-frames, normal B frames still have
2 different ref_lists and allow bi-prediction.
Low delay B:
<http://what-when-how.com/Tutorial/topic-397pct9eq3/High-Efficiency-Video-Coding-HEVC-288.html>
There is an on-going work in libva and media-driver to add querys
support for low delay b, would add it once it's ready:
intel/libva#220
intel/libva#364
intel/media-driver#721
Signed-off-by: Linjie Fu <linjie.fu@intel.com>
Allow user to choose between I/P/B frames:
- normal
Ordinary IB..BPB..B GOP structure.
- low delay B-frames:
IB..B GOP structure, P frames replaced by B frames, allows forward-predict
only for all B frames, L0 == L1, required by VDENC(low_power),
optional for VMEPAK.
- reference B-frames:
Convert P-frames to low delay B-frames, normal B frames still have
2 different ref_lists and allow bi-prediction.
Low delay B:
<http://what-when-how.com/Tutorial/topic-397pct9eq3/High-Efficiency-Video-Coding-HEVC-288.html>
There is an on-going work in libva and media-driver to add querys
support for low delay b, would add it once it's ready:
intel/libva#220
intel/libva#364
intel/media-driver#721
Rebased a bit for this internal branch.
Signed-off-by: Linjie Fu <linjie.fu@intel.com>
Allow user to choose between I/P/B frames:
- normal
Ordinary IB..BPB..B GOP structure.
- low delay B-frames:
IB..B GOP structure, P frames replaced by B frames, allows forward-predict
only for all B frames, L0 == L1, required by VDENC(low_power),
optional for VMEPAK.
- reference B-frames:
Convert P-frames to low delay B-frames, normal B frames still have
2 different ref_lists and allow bi-prediction.
Low delay B:
<http://what-when-how.com/Tutorial/topic-397pct9eq3/High-Efficiency-Video-Coding-HEVC-288.html>
There is an on-going work in libva and media-driver to add querys
support for low delay b, would add it once it's ready:
intel/libva#220
intel/libva#364
intel/media-driver#721
Rebased a bit for this internal branch.
Signed-off-by: Linjie Fu <linjie.fu@intel.com>
Allow user to choose between I/P/B frames:
- normal
Ordinary IB..BPB..B GOP structure.
- low delay B-frames:
IB..B GOP structure, P frames replaced by B frames, allows forward-predict
only for all B frames, L0 == L1, required by VDENC(low_power),
optional for VMEPAK.
- reference B-frames:
Convert P-frames to low delay B-frames, normal B frames still have
2 different ref_lists and allow bi-prediction.
Low delay B:
<http://what-when-how.com/Tutorial/topic-397pct9eq3/High-Efficiency-Video-Coding-HEVC-288.html>
There is an on-going work in libva and media-driver to add querys
support for low delay b, would add it once it's ready:
intel/libva#220
intel/libva#364
intel/media-driver#721
Rebased a bit for this internal branch.
Signed-off-by: Linjie Fu <linjie.fu@intel.com>
Allow user to choose between I/P/B frames:
- normal
Ordinary IB..BPB..B GOP structure.
- low delay B-frames:
IB..B GOP structure, P frames replaced by B frames, allows forward-predict
only for all B frames, L0 == L1, required by VDENC(low_power),
optional for VMEPAK.
- reference B-frames:
Convert P-frames to low delay B-frames, normal B frames still have
2 different ref_lists and allow bi-prediction.
Low delay B:
<http://what-when-how.com/Tutorial/topic-397pct9eq3/High-Efficiency-Video-Coding-HEVC-288.html>
There is an on-going work in libva and media-driver to add querys
support for low delay b, would add it once it's ready:
intel/libva#220
intel/libva#364
intel/media-driver#721
Rebased a bit for this internal branch.
Signed-off-by: Linjie Fu <linjie.fu@intel.com>
Allow user to choose between I/P/B frames:
- normal
Ordinary IB..BPB..B GOP structure.
- low delay B-frames:
IB..B GOP structure, P frames replaced by B frames, allows forward-predict
only for all B frames, L0 == L1, required by VDENC(low_power),
optional for VMEPAK.
- reference B-frames:
Convert P-frames to low delay B-frames, normal B frames still have
2 different ref_lists and allow bi-prediction.
Low delay B:
<http://what-when-how.com/Tutorial/topic-397pct9eq3/High-Efficiency-Video-Coding-HEVC-288.html>
There is an on-going work in libva and media-driver to add querys
support for low delay b, would add it once it's ready:
intel/libva#220
intel/libva#364
intel/media-driver#721
Rebased a bit for this internal branch.
Signed-off-by: Linjie Fu <linjie.fu@intel.com>
Allow user to choose between I/P/B frames:
- normal
Ordinary IB..BPB..B GOP structure.
- low delay B-frames:
IB..B GOP structure, P frames replaced by B frames, allows forward-predict
only for all B frames, L0 == L1, required by VDENC(low_power),
optional for VMEPAK.
- reference B-frames:
Convert P-frames to low delay B-frames, normal B frames still have
2 different ref_lists and allow bi-prediction.
Low delay B:
<http://what-when-how.com/Tutorial/topic-397pct9eq3/High-Efficiency-Video-Coding-HEVC-288.html>
There is an on-going work in libva and media-driver to add querys
support for low delay b, would add it once it's ready:
intel/libva#220
intel/libva#364
intel/media-driver#721
Rebased a bit for this internal branch.
Signed-off-by: Linjie Fu <linjie.fu@intel.com>
Allow user to choose between I/P/B frames:
- normal
Ordinary IB..BPB..B GOP structure.
- low delay B-frames:
IB..B GOP structure, P frames replaced by B frames, allows forward-predict
only for all B frames, L0 == L1, required by VDENC(low_power),
optional for VMEPAK.
- reference B-frames:
Convert P-frames to low delay B-frames, normal B frames still have
2 different ref_lists and allow bi-prediction.
Low delay B:
<http://what-when-how.com/Tutorial/topic-397pct9eq3/High-Efficiency-Video-Coding-HEVC-288.html>
There is an on-going work in libva and media-driver to add querys
support for low delay b, would add it once it's ready:
intel/libva#220
intel/libva#364
intel/media-driver#721
Rebased a bit for this internal branch.
Signed-off-by: Linjie Fu <linjie.fu@intel.com>
Allow user to choose between I/P/B frames:
- normal
Ordinary IB..BPB..B GOP structure.
- low delay B-frames:
IB..B GOP structure, P frames replaced by B frames, allows forward-predict
only for all B frames, L0 == L1, required by VDENC(low_power),
optional for VMEPAK.
- reference B-frames:
Convert P-frames to low delay B-frames, normal B frames still have
2 different ref_lists and allow bi-prediction.
Low delay B:
<http://what-when-how.com/Tutorial/topic-397pct9eq3/High-Efficiency-Video-Coding-HEVC-288.html>
There is an on-going work in libva and media-driver to add querys
support for low delay b, would add it once it's ready:
intel/libva#220
intel/libva#364
intel/media-driver#721
Rebased a bit for this internal branch.
Signed-off-by: Linjie Fu <linjie.fu@intel.com>
Allow user to choose between I/P/B frames:
- normal
Ordinary IB..BPB..B GOP structure.
- low delay B-frames:
IB..B GOP structure, P frames replaced by B frames, allows forward-predict
only for all B frames, L0 == L1, required by VDENC(low_power),
optional for VMEPAK.
- reference B-frames:
Convert P-frames to low delay B-frames, normal B frames still have
2 different ref_lists and allow bi-prediction.
Low delay B:
<http://what-when-how.com/Tutorial/topic-397pct9eq3/High-Efficiency-Video-Coding-HEVC-288.html>
There is an on-going work in libva and media-driver to add querys
support for low delay b, would add it once it's ready:
intel/libva#220
intel/libva#364
intel/media-driver#721
Rebased a bit for this internal branch.
Signed-off-by: Linjie Fu <linjie.fu@intel.com>
Allow user to choose between I/P/B frames:
- normal
Ordinary IB..BPB..B GOP structure.
- low delay B-frames:
IB..B GOP structure, P frames replaced by B frames, allows forward-predict
only for all B frames, L0 == L1, required by VDENC(low_power),
optional for VMEPAK.
- reference B-frames:
Convert P-frames to low delay B-frames, normal B frames still have
2 different ref_lists and allow bi-prediction.
Low delay B:
<http://what-when-how.com/Tutorial/topic-397pct9eq3/High-Efficiency-Video-Coding-HEVC-288.html>
There is an on-going work in libva and media-driver to add querys
support for low delay b, would add it once it's ready:
intel/libva#220
intel/libva#364
intel/media-driver#721
Rebased a bit for this internal branch.
Signed-off-by: Linjie Fu <linjie.fu@intel.com>
Allow user to choose between I/P/B frames:
- normal
Ordinary IB..BPB..B GOP structure.
- low delay B-frames:
IB..B GOP structure, P frames replaced by B frames, allows forward-predict
only for all B frames, L0 == L1, required by VDENC(low_power),
optional for VMEPAK.
- reference B-frames:
Convert P-frames to low delay B-frames, normal B frames still have
2 different ref_lists and allow bi-prediction.
Low delay B:
<http://what-when-how.com/Tutorial/topic-397pct9eq3/High-Efficiency-Video-Coding-HEVC-288.html>
There is an on-going work in libva and media-driver to add querys
support for low delay b, would add it once it's ready:
intel/libva#220
intel/libva#364
intel/media-driver#721
Rebased a bit for this internal branch.
Signed-off-by: Linjie Fu <linjie.fu@intel.com>
Allow user to choose between I/P/B frames:
- normal
Ordinary IB..BPB..B GOP structure.
- low delay B-frames:
IB..B GOP structure, P frames replaced by B frames, allows forward-predict
only for all B frames, L0 == L1, required by VDENC(low_power),
optional for VMEPAK.
- reference B-frames:
Convert P-frames to low delay B-frames, normal B frames still have
2 different ref_lists and allow bi-prediction.
Low delay B:
<http://what-when-how.com/Tutorial/topic-397pct9eq3/High-Efficiency-Video-Coding-HEVC-288.html>
There is an on-going work in libva and media-driver to add querys
support for low delay b, would add it once it's ready:
intel/libva#220
intel/libva#364
intel/media-driver#721
Rebased a bit for this internal branch.
Signed-off-by: Linjie Fu <linjie.fu@intel.com>
Allow user to choose between I/P/B frames:
- normal
Ordinary IB..BPB..B GOP structure.
- low delay B-frames:
IB..B GOP structure, P frames replaced by B frames, allows forward-predict
only for all B frames, L0 == L1, required by VDENC(low_power),
optional for VMEPAK.
- reference B-frames:
Convert P-frames to low delay B-frames, normal B frames still have
2 different ref_lists and allow bi-prediction.
Low delay B:
<http://what-when-how.com/Tutorial/topic-397pct9eq3/High-Efficiency-Video-Coding-HEVC-288.html>
There is an on-going work in libva and media-driver to add querys
support for low delay b, would add it once it's ready:
intel/libva#220
intel/libva#364
intel/media-driver#721
Rebased a bit for this internal branch.
Signed-off-by: Linjie Fu <linjie.fu@intel.com>
Allow user to choose between I/P/B frames:
- normal
Ordinary IB..BPB..B GOP structure.
- low delay B-frames:
IB..B GOP structure, P frames replaced by B frames, allows forward-predict
only for all B frames, L0 == L1, required by VDENC(low_power),
optional for VMEPAK.
- reference B-frames:
Convert P-frames to low delay B-frames, normal B frames still have
2 different ref_lists and allow bi-prediction.
Low delay B:
<http://what-when-how.com/Tutorial/topic-397pct9eq3/High-Efficiency-Video-Coding-HEVC-288.html>
There is an on-going work in libva and media-driver to add querys
support for low delay b, would add it once it's ready:
intel/libva#220
intel/libva#364
intel/media-driver#721
Rebased a bit for this internal branch.
Signed-off-by: Linjie Fu <linjie.fu@intel.com>
Allow user to choose between I/P/B frames:
- normal
Ordinary IB..BPB..B GOP structure.
- low delay B-frames:
IB..B GOP structure, P frames replaced by B frames, allows forward-predict
only for all B frames, L0 == L1, required by VDENC(low_power),
optional for VMEPAK.
- reference B-frames:
Convert P-frames to low delay B-frames, normal B frames still have
2 different ref_lists and allow bi-prediction.
Low delay B:
<http://what-when-how.com/Tutorial/topic-397pct9eq3/High-Efficiency-Video-Coding-HEVC-288.html>
There is an on-going work in libva and media-driver to add querys
support for low delay b, would add it once it's ready:
intel/libva#220
intel/libva#364
intel/media-driver#721
Rebased a bit for this internal branch.
Signed-off-by: Linjie Fu <linjie.fu@intel.com>
Allow user to choose between I/P/B frames:
- normal
Ordinary IB..BPB..B GOP structure.
- low delay B-frames:
IB..B GOP structure, P frames replaced by B frames, allows forward-predict
only for all B frames, L0 == L1, required by VDENC(low_power),
optional for VMEPAK.
- reference B-frames:
Convert P-frames to low delay B-frames, normal B frames still have
2 different ref_lists and allow bi-prediction.
Low delay B:
<http://what-when-how.com/Tutorial/topic-397pct9eq3/High-Efficiency-Video-Coding-HEVC-288.html>
There is an on-going work in libva and media-driver to add querys
support for low delay b, would add it once it's ready:
intel/libva#220
intel/libva#364
intel/media-driver#721
Rebased a bit for this internal branch.
Signed-off-by: Linjie Fu <linjie.fu@intel.com>
Allow user to choose between I/P/B frames:
- normal
Ordinary IB..BPB..B GOP structure.
- low delay B-frames:
IB..B GOP structure, P frames replaced by B frames, allows forward-predict
only for all B frames, L0 == L1, required by VDENC(low_power),
optional for VMEPAK.
- reference B-frames:
Convert P-frames to low delay B-frames, normal B frames still have
2 different ref_lists and allow bi-prediction.
Low delay B:
<http://what-when-how.com/Tutorial/topic-397pct9eq3/High-Efficiency-Video-Coding-HEVC-288.html>
There is an on-going work in libva and media-driver to add querys
support for low delay b, would add it once it's ready:
intel/libva#220
intel/libva#364
intel/media-driver#721
Rebased a bit for this internal branch.
Signed-off-by: Linjie Fu <linjie.fu@intel.com>
Allow user to choose between I/P/B frames:
- normal
Ordinary IB..BPB..B GOP structure.
- low delay B-frames:
IB..B GOP structure, P frames replaced by B frames, allows forward-predict
only for all B frames, L0 == L1, required by VDENC(low_power),
optional for VMEPAK.
- reference B-frames:
Convert P-frames to low delay B-frames, normal B frames still have
2 different ref_lists and allow bi-prediction.
Low delay B:
<http://what-when-how.com/Tutorial/topic-397pct9eq3/High-Efficiency-Video-Coding-HEVC-288.html>
There is an on-going work in libva and media-driver to add querys
support for low delay b, would add it once it's ready:
intel/libva#220
intel/libva#364
intel/media-driver#721
Rebased a bit for this internal branch.
Signed-off-by: Linjie Fu <linjie.fu@intel.com>
Allow user to choose between I/P/B frames:
- normal
Ordinary IB..BPB..B GOP structure.
- low delay B-frames:
IB..B GOP structure, P frames replaced by B frames, allows forward-predict
only for all B frames, L0 == L1, required by VDENC(low_power),
optional for VMEPAK.
- reference B-frames:
Convert P-frames to low delay B-frames, normal B frames still have
2 different ref_lists and allow bi-prediction.
Low delay B:
<http://what-when-how.com/Tutorial/topic-397pct9eq3/High-Efficiency-Video-Coding-HEVC-288.html>
There is an on-going work in libva and media-driver to add querys
support for low delay b, would add it once it's ready:
intel/libva#220
intel/libva#364
intel/media-driver#721
Rebased a bit for this internal branch.
Signed-off-by: Linjie Fu <linjie.fu@intel.com>
Allow user to choose between I/P/B frames:
- normal
Ordinary IB..BPB..B GOP structure.
- low delay B-frames:
IB..B GOP structure, P frames replaced by B frames, allows forward-predict
only for all B frames, L0 == L1, required by VDENC(low_power),
optional for VMEPAK.
- reference B-frames:
Convert P-frames to low delay B-frames, normal B frames still have
2 different ref_lists and allow bi-prediction.
Low delay B:
<http://what-when-how.com/Tutorial/topic-397pct9eq3/High-Efficiency-Video-Coding-HEVC-288.html>
There is an on-going work in libva and media-driver to add querys
support for low delay b, would add it once it's ready:
intel/libva#220
intel/libva#364
intel/media-driver#721
Rebased a bit for this internal branch.
Signed-off-by: Linjie Fu <linjie.fu@intel.com>
Allow user to choose between I/P/B frames:
- normal
Ordinary IB..BPB..B GOP structure.
- low delay B-frames:
IB..B GOP structure, P frames replaced by B frames, allows forward-predict
only for all B frames, L0 == L1, required by VDENC(low_power),
optional for VMEPAK.
- reference B-frames:
Convert P-frames to low delay B-frames, normal B frames still have
2 different ref_lists and allow bi-prediction.
Low delay B:
<http://what-when-how.com/Tutorial/topic-397pct9eq3/High-Efficiency-Video-Coding-HEVC-288.html>
There is an on-going work in libva and media-driver to add querys
support for low delay b, would add it once it's ready:
intel/libva#220
intel/libva#364
intel/media-driver#721
Rebased a bit for this internal branch.
Signed-off-by: Linjie Fu <linjie.fu@intel.com>
Allow user to choose between I/P/B frames:
- normal
Ordinary IB..BPB..B GOP structure.
- low delay B-frames:
IB..B GOP structure, P frames replaced by B frames, allows forward-predict
only for all B frames, L0 == L1, required by VDENC(low_power),
optional for VMEPAK.
- reference B-frames:
Convert P-frames to low delay B-frames, normal B frames still have
2 different ref_lists and allow bi-prediction.
Low delay B:
<http://what-when-how.com/Tutorial/topic-397pct9eq3/High-Efficiency-Video-Coding-HEVC-288.html>
There is an on-going work in libva and media-driver to add querys
support for low delay b, would add it once it's ready:
intel/libva#220
intel/libva#364
intel/media-driver#721
Rebased a bit for this internal branch.
This patch will be removed after
intel/media-driver#1382 is merged.
Signed-off-by: Linjie Fu <linjie.fu@intel.com>
Allow user to choose between I/P/B frames:
- normal
Ordinary IB..BPB..B GOP structure.
- low delay B-frames:
IB..B GOP structure, P frames replaced by B frames, allows forward-predict
only for all B frames, L0 == L1, required by VDENC(low_power),
optional for VMEPAK.
- reference B-frames:
Convert P-frames to low delay B-frames, normal B frames still have
2 different ref_lists and allow bi-prediction.
Low delay B:
<http://what-when-how.com/Tutorial/topic-397pct9eq3/High-Efficiency-Video-Coding-HEVC-288.html>
There is an on-going work in libva and media-driver to add querys
support for low delay b, would add it once it's ready:
intel/libva#220
intel/libva#364
intel/media-driver#721
Rebased a bit for this internal branch.
This patch will be removed after
intel/media-driver#1382 is merged.
Signed-off-by: Linjie Fu <linjie.fu@intel.com>
it is a suppliment of intel#220 to distinguish P frame and low delay B frame Signed-off-by: Carl Zhang <carl.zhang@intel.com>
report which frame type is supported by driver
Signed-off-by: XinfengZhang carl.zhang@intel.com