Were you able to find an answer for this; I'm also having trouble finding the encoded frame?
On Mon, Aug 24, 2009 at 6:11 AM, Alessandro Ferrari < [email protected]> wrote: > Hi dear community, > I have to study the source code of the ffmpeg > source code file libavcodec/libx264.c, that ffmpeg use to encode using > x264, > I paste the function of major interest for my goal: > > static int X264_frame(AVCodecContext *ctx, uint8_t *buf, int bufsize, void > *data) > { > X264Context *x4 = ctx->priv_data; > AVFrame *frame = data; > x264_nal_t *nal; > int nnal, i; > x264_picture_t pic_out; > > x4->pic.img.i_csp = X264_CSP_I420; > x4->pic.img.i_plane = 3; > > if (frame) { > for(i = 0; i < 3; i++){ > x4->pic.img.plane[i] = frame->data[i]; > x4->pic.img.i_stride[i] = frame->linesize[i]; > } > > x4->pic.i_pts = frame->pts; > x4->pic.i_type = X264_TYPE_AUTO; > } > > if(x264_encoder_encode(x4->enc, &nal, &nnal, frame? &x4->pic: NULL, > &pic_out)) > return -1; > > bufsize = encode_nals(ctx, buf, bufsize, nal, nnal, 0); > if(bufsize < 0) > return -1; > > /* FIXME: dts */ > x4->out_pic.pts = pic_out.i_pts; > > switch(pic_out.i_type){ > case X264_TYPE_IDR: > case X264_TYPE_I: > x4->out_pic.pict_type = FF_I_TYPE; > break; > case X264_TYPE_P: > x4->out_pic.pict_type = FF_P_TYPE; > break; > case X264_TYPE_B: > case X264_TYPE_BREF: > x4->out_pic.pict_type = FF_B_TYPE; > break; > } > > x4->out_pic.key_frame = pic_out.i_type == X264_TYPE_IDR; > x4->out_pic.quality = (pic_out.i_qpplus1 - 1) * FF_QP2LAMBDA; > > return bufsize; > } > > > and when I observe the frame encoder function, I don't understand a very > delicate step. The x264 function x264_encoder_encode save the encoded frame > at the address &pic_out, but the function Encoder_frame() don't save these > reference in any variables and I cannot understand why the encoded frame > will not be miss. Where I can find the binary array that include the > encoded > frame? I need to understand what buffer contain the encoded frame. > Thank in advance. > > Best Regards > _______________________________________________ > libav-user mailing list > [email protected] > https://lists.mplayerhq.hu/mailman/listinfo/libav-user > -- Hide the petals underneath that bedroom floorboard and they will wither without fail or success; Put the people in the hollow box they crafted, bolt the doors and watch them perish. - Circle Takes The Square _______________________________________________ libav-user mailing list [email protected] https://lists.mplayerhq.hu/mailman/listinfo/libav-user
