mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-02-04 06:08:26 +02:00
rtp_callback: send number of mb patch by (Johan Bilien {jobi via.ecp fr)
Originally committed as revision 3926 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
ce4a29c066
commit
ebaa7e0315
@ -17,7 +17,7 @@ extern "C" {
|
||||
|
||||
#define FFMPEG_VERSION_INT 0x000409
|
||||
#define FFMPEG_VERSION "0.4.9-pre1"
|
||||
#define LIBAVCODEC_BUILD 4739
|
||||
#define LIBAVCODEC_BUILD 4740
|
||||
|
||||
#define LIBAVCODEC_VERSION_INT FFMPEG_VERSION_INT
|
||||
#define LIBAVCODEC_VERSION FFMPEG_VERSION
|
||||
@ -859,8 +859,10 @@ typedef struct AVCodecContext {
|
||||
/* The RTP callcack: This function is called */
|
||||
/* every time the encoder as a packet to send */
|
||||
/* Depends on the encoder if the data starts */
|
||||
/* with a Start Code (it should) H.263 does */
|
||||
void (*rtp_callback)(struct AVCodecContext *avctx, void *data, int size, int packet_number);
|
||||
/* with a Start Code (it should) H.263 does. */
|
||||
/* mb_nb contains the number of macroblocks */
|
||||
/* encoded in the RTP payload */
|
||||
void (*rtp_callback)(struct AVCodecContext *avctx, void *data, int size, int mb_nb);
|
||||
|
||||
/* statistics, used for 2-pass encoding */
|
||||
int mv_bits;
|
||||
|
@ -4725,8 +4725,10 @@ static int encode_thread(AVCodecContext *c, void *arg){
|
||||
}
|
||||
}
|
||||
|
||||
if (s->avctx->rtp_callback)
|
||||
s->avctx->rtp_callback(s->avctx, s->ptr_lastgob, current_packet_size, 0);
|
||||
if (s->avctx->rtp_callback){
|
||||
int number_mb = (mb_y - s->resync_mb_y)*s->mb_width + mb_x - s->resync_mb_x;
|
||||
s->avctx->rtp_callback(s->avctx, s->ptr_lastgob, current_packet_size, number_mb);
|
||||
}
|
||||
|
||||
switch(s->codec_id){
|
||||
case CODEC_ID_MPEG4:
|
||||
@ -5166,10 +5168,11 @@ static int encode_thread(AVCodecContext *c, void *arg){
|
||||
|
||||
/* Send the last GOB if RTP */
|
||||
if (s->avctx->rtp_callback) {
|
||||
int number_mb = (mb_y - s->resync_mb_y)*s->mb_width - s->resync_mb_x;
|
||||
pdif = pbBufPtr(&s->pb) - s->ptr_lastgob;
|
||||
/* Call the RTP callback to send the last GOB */
|
||||
emms_c();
|
||||
s->avctx->rtp_callback(s->avctx, s->ptr_lastgob, pdif, 0);
|
||||
s->avctx->rtp_callback(s->avctx, s->ptr_lastgob, pdif, number_mb);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user