Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - GEFORCEXTREME

Pages: [1]
1
H.264/AVC / Regarding image raw data output of x264_encoder_encode()
« on: March 29, 2011, 11:04:00 PM »
/* x264_encoder_encode:
 *      encode one picture.
 *      *pi_nal is the number of NAL units outputted in pp_nal.
 *      returns negative on error, zero if no NAL units returned.
 *      the payloads of all output NALs are guaranteed to be sequential in memory. */
int     x264_encoder_encode( x264_t *, x264_nal_t **pp_nal, int *pi_nal, x264_picture_t *pic_in, x264_picture_t *pic_out );

If I were to draw the frame after calling x264_encoder_encode above (using raw data from pic_out->img), what type of image do I get? I tried it, but what I got is some low quality picture.

I don't know if this has to do with the x264 params set incorrectly/badly or are the pictures just delta pictures?
For example, in a

1    2 3 4 5
IDR P P P P

sequence, picture 2 drawn using the above method, is it the actual complete output of the frame or is it just "predicted and not motion estimated-compensated picture"?

2
Referring to topic, is there any MPEG2 TS and or MP4 container library I can use to carry x264 NALUs?

Can we use ffmpeg libavformat for this? I tried to do this by learning from output-example.c from ffmpeg source. I can produce a video, but the video just doesn't play.

Back to topic, is there other library for this?

3
H.264/AVC / Any container/protocol libary to carry x264 data?
« on: March 27, 2011, 05:45:52 PM »
Ok, here is my dilemma, I need to use libx264 directly because I'm playing with interactive/adaptive transcoding features.

I've just learnt how to encode a frame using libx264, but that's it, I don't know what to do with the outputed NALUs.

I'm thinking of using ffmpeg libavformat libary to do container/protocol work, but can I? As of now, I'm using ffmpeg to decode and x264 to encode. But the output part is still big headache. Please help, thanks in advance!

4
H.264/AVC / Regarding x264_encoder_headers() in libx264
« on: March 21, 2011, 11:12:14 PM »
What does this do? According to x264.h,

/* x264_encoder_headers:
 *      return the SPS and PPS that will be used for the whole stream.
 *      *pi_nal is the number of NAL units outputted in pp_nal.
 *      returns negative on error.
 *      the payloads of all output NALs are guaranteed to be sequential in memory. */
int     x264_encoder_headers( x264_t *, x264_nal_t **pp_nal, int *pi_nal );

The function is very much of the same structure as x264_encoder_encode() which encodes a single frame. The function return some amount of NALUs. How do I sent this over using RTP transport protocol? These NALUs, do I send them once for the whole video session?

If I want to send these (SPS, PPS) NALUs and VCL NALUs, is there a certain way I do this? Or do I just pack them into and set appropriate UDP/RTP headers and then send them over? I've read RFC3984: RTP Payload Format for H.264 Video, but I still can't understand how x264 video data are transferred. Someone please help.

5
Hi guys,

I'm using VLC to stream H.264 videos encapsulated in MPEG2-TS. I would like to try out incorporating x264_encoder_intra_refresh() in VLC.
Assuming I have a feedback channel, everytime if the client senses packet loss, it sends a signal to server VLC which then do x264_encoder_intra_refresh. Is this the right way to do it?

How about x264_encoder_invalidate_reference()? From the x264 header it seems I need to know the pts. How do I know what/which pts of the reference frames to invalidate? Thanks.

Pages: [1]