mirror of
https://github.com/nyanmisaka/ffmpeg-rockchip.git
synced 2025-10-30 04:02:04 +08:00
Merge remote-tracking branch 'qatar/master'
* qatar/master: rtpdec: Templatize the code for different g726 bitrate variants rv40: move loop filter to rv34dsp context lavf: make av_set_pts_info private. rtpdec: Add support for G726 audio rtpdec: Add an init function that can do custom codec context initialization avconv: make copy_tb on by default. matroskadec: don't set codec timebase. rmdec: don't set codec timebase. avconv: compute next_pts from input packet duration when possible. lavf: estimate frame duration from r_frame_rate. avconv: update InputStream.pts in the streamcopy case. Conflicts: avconv.c libavdevice/alsa-audio-dec.c libavdevice/bktr.c libavdevice/fbdev.c libavdevice/libdc1394.c libavdevice/oss_audio.c libavdevice/v4l.c libavdevice/v4l2.c libavdevice/vfwcap.c libavdevice/x11grab.c libavformat/au.c libavformat/eacdata.c libavformat/flvdec.c libavformat/mpegts.c libavformat/mxfenc.c libavformat/rtpdec_g726.c libavformat/wtv.c libavformat/xmv.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
@@ -869,7 +869,10 @@ static void compute_frame_duration(int *pnum, int *pden, AVStream *st,
|
||||
*pden = 0;
|
||||
switch(st->codec->codec_type) {
|
||||
case AVMEDIA_TYPE_VIDEO:
|
||||
if(st->time_base.num*1000LL > st->time_base.den){
|
||||
if (st->r_frame_rate.num && !pc) {
|
||||
*pnum = st->r_frame_rate.den;
|
||||
*pden = st->r_frame_rate.num;
|
||||
} else if(st->time_base.num*1000LL > st->time_base.den) {
|
||||
*pnum = st->time_base.num;
|
||||
*pden = st->time_base.den;
|
||||
}else if(st->codec->time_base.num*1000LL > st->codec->time_base.den){
|
||||
@@ -2851,7 +2854,7 @@ AVStream *avformat_new_stream(AVFormatContext *s, AVCodec *c)
|
||||
st->probe_packets = MAX_PROBE_PACKETS;
|
||||
|
||||
/* default pts setting is MPEG-like */
|
||||
av_set_pts_info(st, 33, 1, 90000);
|
||||
avpriv_set_pts_info(st, 33, 1, 90000);
|
||||
st->last_IP_pts = AV_NOPTS_VALUE;
|
||||
for(i=0; i<MAX_REORDER_DELAY+1; i++)
|
||||
st->pts_buffer[i]= AV_NOPTS_VALUE;
|
||||
@@ -3964,8 +3967,16 @@ int ff_hex_to_data(uint8_t *data, const char *p)
|
||||
return len;
|
||||
}
|
||||
|
||||
#if FF_API_SET_PTS_INFO
|
||||
void av_set_pts_info(AVStream *s, int pts_wrap_bits,
|
||||
unsigned int pts_num, unsigned int pts_den)
|
||||
{
|
||||
avpriv_set_pts_info(s, pts_wrap_bits, pts_num, pts_den);
|
||||
}
|
||||
#endif
|
||||
|
||||
void avpriv_set_pts_info(AVStream *s, int pts_wrap_bits,
|
||||
unsigned int pts_num, unsigned int pts_den)
|
||||
{
|
||||
AVRational new_tb;
|
||||
if(av_reduce(&new_tb.num, &new_tb.den, pts_num, pts_den, INT_MAX)){
|
||||
|
||||
Reference in New Issue
Block a user