mpegts: remove get_pts duplicate of ff_parse_pes_pts.
Signed-off-by: Vasyl' Vavrychuk <vvavrychuk@gmail.com>
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 665132e620
)
This commit is contained in:
parent
9873463c2f
commit
e5e3897b64
@ -63,7 +63,7 @@ static const int lpcm_freq_tab[4] = { 48000, 96000, 44100, 32000 };
|
|||||||
/**
|
/**
|
||||||
* Parse MPEG-PES five-byte timestamp
|
* Parse MPEG-PES five-byte timestamp
|
||||||
*/
|
*/
|
||||||
static inline int64_t ff_parse_pes_pts(uint8_t *buf) {
|
static inline int64_t ff_parse_pes_pts(const uint8_t *buf) {
|
||||||
return (int64_t)(*buf & 0x0e) << 29 |
|
return (int64_t)(*buf & 0x0e) << 29 |
|
||||||
(AV_RB16(buf+1) >> 1) << 15 |
|
(AV_RB16(buf+1) >> 1) << 15 |
|
||||||
AV_RB16(buf+3) >> 1;
|
AV_RB16(buf+3) >> 1;
|
||||||
|
@ -30,6 +30,7 @@
|
|||||||
#include "mpegts.h"
|
#include "mpegts.h"
|
||||||
#include "internal.h"
|
#include "internal.h"
|
||||||
#include "seek.h"
|
#include "seek.h"
|
||||||
|
#include "mpeg.h"
|
||||||
#include "isom.h"
|
#include "isom.h"
|
||||||
|
|
||||||
/* 1.0 second at 24Mbit/s */
|
/* 1.0 second at 24Mbit/s */
|
||||||
@ -601,14 +602,6 @@ static int mpegts_set_stream_info(AVStream *st, PESContext *pes,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int64_t get_pts(const uint8_t *p)
|
|
||||||
{
|
|
||||||
int64_t pts = (int64_t)((p[0] >> 1) & 0x07) << 30;
|
|
||||||
pts |= (AV_RB16(p + 1) >> 1) << 15;
|
|
||||||
pts |= AV_RB16(p + 3) >> 1;
|
|
||||||
return pts;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void new_pes_packet(PESContext *pes, AVPacket *pkt)
|
static void new_pes_packet(PESContext *pes, AVPacket *pkt)
|
||||||
{
|
{
|
||||||
av_init_packet(pkt);
|
av_init_packet(pkt);
|
||||||
@ -767,12 +760,12 @@ static int mpegts_push_data(MpegTSFilter *filter,
|
|||||||
pes->pts = AV_NOPTS_VALUE;
|
pes->pts = AV_NOPTS_VALUE;
|
||||||
pes->dts = AV_NOPTS_VALUE;
|
pes->dts = AV_NOPTS_VALUE;
|
||||||
if ((flags & 0xc0) == 0x80) {
|
if ((flags & 0xc0) == 0x80) {
|
||||||
pes->dts = pes->pts = get_pts(r);
|
pes->dts = pes->pts = ff_parse_pes_pts(r);
|
||||||
r += 5;
|
r += 5;
|
||||||
} else if ((flags & 0xc0) == 0xc0) {
|
} else if ((flags & 0xc0) == 0xc0) {
|
||||||
pes->pts = get_pts(r);
|
pes->pts = ff_parse_pes_pts(r);
|
||||||
r += 5;
|
r += 5;
|
||||||
pes->dts = get_pts(r);
|
pes->dts = ff_parse_pes_pts(r);
|
||||||
r += 5;
|
r += 5;
|
||||||
}
|
}
|
||||||
pes->extended_stream_id = -1;
|
pes->extended_stream_id = -1;
|
||||||
|
Loading…
Reference in New Issue
Block a user