Greetings, > Sent: Monday, April 27, 2015 at 11:20 AM > From: "Carl Eugen Hoyos" <[email protected]> > To: [email protected] > Subject: Re: [Libav-user] invalid AVPacket size in av_read_frame usage. > > daggs <daggs@...> writes: > > > > > I'm writing a program that needs to sample the > > > > screen in bgra format. the problem is what I try > > > > to read an av frame, I get this error: > > > > [rawvideo <at> 0x1403aa0] Invalid buffer size, > > > > packet size 1228800 < expected frame_size 8294400 > > > > > > Where does the packet come from that you pass to > > > the video decode function? > > ?
I'm using the x11grab module set to my desktop and grab the packets using av_read_frame call. > > > > What is the resolution of the video that you > > > want to decode? > > > > that is a raw packet of a 1920x1080 screen. > > 1920 x 1080 x 4 = 8,294,400 so the error seems correct > to me. > > [...] but that isn't what I've asked, I see that error and tried to increase the buffer using av_new_packet but it doesn't work so I'm trying to understand what I'm doing wrong. > > > which encodes it to the required format (libx264rbg). > > > > if I'm not mistaken, scaling the frame to yuv420p > > will drop the quality of the frame which I don't > > want to have. > > That doesn't explain why you need the rawvideo decoder. I did, I don't want the thread that grabs the screen do encode the frame, so I grab it raw and pass it to another thread which encodes it. > Or are you using libavformat to capture the screen? > (You didn't say so.) > I've searched the net and found some examples and projects that grabs screen in similar way. I haven't found any example in the ffmpeg docs regarding screen capture so I assumed that is the way to do that. is there another way to do that? _______________________________________________ Libav-user mailing list [email protected] http://ffmpeg.org/mailman/listinfo/libav-user
