On 7/27/2010 9:24 PM, Nhat Huy wrote:
On Wed, Jul 28, 2010 at 2:53 AM, Michael Chisholm<[email protected]>wrote:
On 7/27/2010 2:35 AM, Nhat Huy wrote:
On Tue, Jul 27, 2010 at 3:04 PM, avcoder<[email protected]> wrote:
On Tue, Jul 27, 2010 at 1:43 PM, Nhat Huy<[email protected]> wrote:
Hi,
According to your suggestion, I have to write a new av_read_frame which
points to my bit-stream buffer.
No! you do not need it, just tell ffmpeg your buffer and length ,
FFmpeg will do everything for you
But how can I determine the AVPacket.size which contains each frame in
H.264
bit-stream ?
I will share some pieces of code.
you should grasp my idea based on the code!
Note: my code was based on older FFmpeg APIs.
Thank you very much.
_______________________________________________
That's fine if you're getting only the raw video packets. Not so fine if
you are getting a video stream in some container format and need to go
through all the stream processing. I thought it was the latter.
Andy
_______________________________________________
libav-user mailing list
[email protected]
https://lists.mplayerhq.hu/mailman/listinfo/libav-user
Hi Andy,
I'm dealing with raw H.264 bit-stream, not video format file such as: mkv,
avi thus avcodec_decode_video is what I need. Now I'm thinking how to
determine the size of each frame in bit-stream buffer. I have to pass size
and data of each coded frame in buffer to avcodec_decode_video.
I see that av_read_frame can calculate size, but I do not know how it can do
that.
Huy.
Ok. I think "av_read_frame" is an unfortunate name for that function. It reads
a packet, not a frame. Packets are the unit of muxing into container formats,
and may not even contain a complete frame. So if you don't have to deal with
that, that function is not relevant.
avcodec_decode_video() (which is deprecated, actually you should use
avcodec_decode_video2()) is built to operate in a "streaming" fashion (different
meaning here than I used before). I mean to say that it's written to take data
a little bit at a time, and once it's received enough to decode a complete
frame, it will let you know (got_picture_ptr will receive a non-zero value). So
you might try just feeding it data directly, in whatever size chunks make sense
for you, and see if you get decoded frames out.
Andy
_______________________________________________
libav-user mailing list
[email protected]
https://lists.mplayerhq.hu/mailman/listinfo/libav-user