Am 18.10.2016 um 15:42 schrieb Andy Furniss:
Andy Furniss wrote:
Christian König wrote:
Am 18.10.2016 um 11:19 schrieb Andy Furniss:
From: Boyuan Zhang <boyuan.zh...@amd.com>
cabac is only supported in the h264 main and higher profiles
So shouldn't there be code allows it if the user space doesn't
I don't know how in gstreamer as it seems to try to use b-frames
if you use other than baseline which doesn't work.
With avconv it is possible to call main/high and set b-frames to 0.
I know it's technically correct spec wise, but seems a shame as it
costs a fair bit in "free" efficiency.
On Windows the raptor game recording app produces files flagged as
high with cabac - but without b-frames.
The problem is that it can easily break decoders. CABAC is simply not
allowed in a stream flagged as baseline compliant.
But with ffmpeg/avconv I can make a stream flagged as main/high even
if it's really baseline + CABAC. I guess Windows may vary but the test
I did seems to take this pragmatic approach, as it seems do other h/w
encoders eg. smartphone output.
It's a pity that we don't support B-frames any more.
Anymore? Now I am curious, seems to work with omx (cqp single instance)
With that in place
we could easily advertise support for mainline profile.
Sorry if that came over as being pedantic, silly as I think pragmatism
is the way to go and I know intel advertise main/high, but doubt they
Exactly, I mean we are talking about features to support encoding into
interlaced format. Is anybody still actively doing that?
But even then, it's not so much of a problem advertising mainline
profile and then not using MBAFF/PAFF.
But when you advertise B-frames and then can't encode it you got a
serious problem because your frames are not in the right order any more :)
In fact vce vaapi is currently advertising them as well (I did mention
it in some thread). Good for letting ffmpeg flag as such while not using
b-frames, not so good for gstreamer as they have changed the default to
high so old command lines will not explicitly fail, but will produce
I see va.h has a cabac switch and gstreamer exposes it - though it's not
read by the driver. Maybe if that were hooked up then users could turn
it on and profit :-).
Yeah, but again turning it on while the SPS/PPS only advertise the
stream to be baseline compliant is a clear violation of the codec
standard. (Is that actually encodeable in the stream? or does the
encoder switch to some higher level automatically if you use it?).
Signed-off-by: Boyuan Zhang <boyuan.zh...@amd.com>
src/gallium/state_trackers/va/picture.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/src/gallium/state_trackers/va/picture.c
index eae5dc4..db08a3c 100644
@@ -110,7 +110,6 @@ getEncParamPreset(vlVaContext *context)
//pic control preset
- context->desc.h264enc.pic_ctrl.enc_cabac_enable = 0x00000001;
mesa-dev mailing list
mesa-dev mailing list