diff options
author | Uoti Urpala <uau@mplayer2.org> | 2011-06-29 11:39:06 +0300 |
---|---|---|
committer | Uoti Urpala <uau@mplayer2.org> | 2011-06-29 11:39:06 +0300 |
commit | a77e5f07ed513233314c18f3e45490fdfa11f6ba (patch) | |
tree | a369f5e54f1b91729712272f1f73ad3f0e7d7d66 /libmpdemux | |
parent | 9caae9b385a6de3f4dae98bebb1be64a997c1472 (diff) | |
parent | 27b88a09c5319deb62221b8cd0ecc14cd1136e4a (diff) | |
download | mpv-a77e5f07ed513233314c18f3e45490fdfa11f6ba.tar.bz2 mpv-a77e5f07ed513233314c18f3e45490fdfa11f6ba.tar.xz |
Merge branch 'mplayer1_changes'
Diffstat (limited to 'libmpdemux')
-rw-r--r-- | libmpdemux/aviheader.c | 2 | ||||
-rw-r--r-- | libmpdemux/demux_ts.c | 11 | ||||
-rw-r--r-- | libmpdemux/mpeg_hdr.c | 9 |
3 files changed, 13 insertions, 9 deletions
diff --git a/libmpdemux/aviheader.c b/libmpdemux/aviheader.c index cd2db91726..3f18af28f8 100644 --- a/libmpdemux/aviheader.c +++ b/libmpdemux/aviheader.c @@ -258,7 +258,7 @@ while(1){ s->aIndex[i].dwSize = stream_read_dword_le(demuxer->stream); s->aIndex[i].dwDuration = stream_read_dword_le(demuxer->stream); mp_msg (MSGT_HEADER, MSGL_V, "ODML (%.4s): [%d] 0x%016"PRIx64" 0x%04x %u\n", - (s->dwChunkId), i, + s->dwChunkId, i, (uint64_t)s->aIndex[i].qwOffset, s->aIndex[i].dwSize, s->aIndex[i].dwDuration); } diff --git a/libmpdemux/demux_ts.c b/libmpdemux/demux_ts.c index ebb1709f5a..6658e3b796 100644 --- a/libmpdemux/demux_ts.c +++ b/libmpdemux/demux_ts.c @@ -80,6 +80,7 @@ typedef enum AUDIO_AAC = mmioFOURCC('M', 'P', '4', 'A'), AUDIO_AAC_LATM = mmioFOURCC('M', 'P', '4', 'L'), AUDIO_TRUEHD = mmioFOURCC('T', 'R', 'H', 'D'), + AUDIO_S302M = mmioFOURCC('B', 'S', 'S', 'D'), SPU_DVD = 0x3000000, SPU_DVB = 0x3000001, SPU_TELETEXT = 0x3000002, @@ -260,6 +261,7 @@ static int IS_AUDIO(es_stream_type_t type) case AUDIO_AAC_LATM: case AUDIO_DTS: case AUDIO_TRUEHD: + case AUDIO_S302M: return 1; } return 0; @@ -661,7 +663,7 @@ static int a52_check(char *buf, int len) static off_t ts_detect_streams(demuxer_t *demuxer, tsdemux_init_t *param) { - int video_found = 0, audio_found = 0, sub_found av_unused = 0, i, num_packets = 0, req_apid, req_vpid, req_spid; + int video_found = 0, audio_found = 0, i, num_packets = 0, req_apid, req_vpid, req_spid; int is_audio, is_video, is_sub, has_tables; int32_t p, chosen_pid = 0; off_t pos=0, ret = 0, init_pos, end_pos; @@ -828,7 +830,6 @@ static off_t ts_detect_streams(demuxer_t *demuxer, tsdemux_init_t *param) { param->stype = es.type; param->spid = es.pid; - sub_found = 1; } } @@ -896,6 +897,8 @@ static off_t ts_detect_streams(demuxer_t *demuxer, tsdemux_init_t *param) mp_msg(MSGT_DEMUXER, MSGL_INFO, "AUDIO AAC LATM(pid=%d)", param->apid); else if(param->atype == AUDIO_TRUEHD) mp_msg(MSGT_DEMUXER, MSGL_INFO, "AUDIO TRUEHD(pid=%d)", param->apid); + else if(param->atype == AUDIO_S302M) + mp_msg(MSGT_DEMUXER, MSGL_INFO, "AUDIO S302M(pid=%d)", param->apid); else { audio_found = 0; @@ -2357,6 +2360,10 @@ static int parse_descriptors(struct pmt_es_t *es, uint8_t *ptr) { es->type = VIDEO_DIRAC; } + else if(d[0] == 'B' && d[1] == 'S' && d[2] == 'S' && d[3] == 'D') + { + es->type = AUDIO_S302M; + } else es->type = UNKNOWN; mp_msg(MSGT_DEMUX, MSGL_DBG2, "FORMAT %s\n", es->format_descriptor); diff --git a/libmpdemux/mpeg_hdr.c b/libmpdemux/mpeg_hdr.c index 2a00727e3a..0c368aa7a2 100644 --- a/libmpdemux/mpeg_hdr.c +++ b/libmpdemux/mpeg_hdr.c @@ -45,7 +45,7 @@ static float frameratecode2framerate[16] = { int mp_header_process_sequence_header (mp_mpeg_header_t * picture, const unsigned char * buffer) { - int width av_unused, height; + int height; if ((buffer[6] & 0x20) != 0x20){ fprintf(stderr, "missing marker bit!\n"); @@ -54,11 +54,8 @@ int mp_header_process_sequence_header (mp_mpeg_header_t * picture, const unsigne height = (buffer[0] << 16) | (buffer[1] << 8) | buffer[2]; - picture->display_picture_width = (height >> 12); - picture->display_picture_height = (height & 0xfff); - - width = ((height >> 12) + 15) & ~15; - height = ((height & 0xfff) + 15) & ~15; + picture->display_picture_width = height >> 12; + picture->display_picture_height = height & 0xfff; picture->aspect_ratio_information = buffer[3] >> 4; picture->frame_rate_code = buffer[3] & 15; |