[Libav-user] packet flag AV_PKT_FLAG_KEY
donmoir at comcast.net
Sat Nov 23 09:17:29 CET 2013
On 11/22/2013 7:47 PM, Don Moir wrote:
>>>>Not sure what AV_PKT_FLAG_KEY is supposed to mean. The assumption to me early on is it represented a key frame but not necessarily.
>>>>Is it not a application flag ?
>>>>Seems for at least H264 it doesnt have much meaning to application. If the packet dts value is in the stream index_entires then that represents a key frame for sure ( hopefully :)
>>>>What if there are no index_entries ? Whats a key packet then and how to determine ?
>>>>Just trying to clear up my own confusion with this.
>>>For h264, the key frame network abstraction unit of the packet will be of type IDR, instant data refresh.
>>>I believe NAL type 5.
>>>Dont see that info in a packet. Only thing relevant that changes is the flags member (0 or 1). Now frame may contain additional info after decoding but it's documented that >>>AV_PKT_FLAG_KEY represents a keyframe.
>>>If it is for internal use, a different flag should have been used the way I see it. So trying to understand what the real intended use of AV_PKT_FLAG_KEY is.
>>Imagine H264 at HD resolution with 5 or 6 horizontal slices where the key frame only equals one horizontal strip
>Yeah I get that. It sure knows that a packet is a key packet when it adds it to the index_entries but packet flag does not correspond. Seems like the packet flag should >correspond to the index_entries. Yes or No ?
I guess I still don't know what AV_PKT_FLAG_KEY is intended for but if I set skip_frame to AVDISCARD_NONKEY, its a mess. I think some work has been done on this. Think I remember seeing something somewhere. When I get a chance will check new build. Mostly trying to get understanding first.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Libav-user