Skip to content

Commit

Permalink
avformat/bink: recognize bink2 files
Browse files Browse the repository at this point in the history
Support demuxing of audio streams in bink2 files.

Signed-off-by: Peter Ross <[email protected]>
Signed-off-by: Michael Niedermayer <[email protected]>
  • Loading branch information
rouseabout authored and michaelni committed Jan 2, 2014
1 parent e3868cc commit 7340718
Showing 1 changed file with 10 additions and 2 deletions.
12 changes: 10 additions & 2 deletions libavformat/bink.c
Original file line number Diff line number Diff line change
Expand Up @@ -59,8 +59,10 @@ static int probe(AVProbeData *p)
{
const uint8_t *b = p->buf;

if ( b[0] == 'B' && b[1] == 'I' && b[2] == 'K' &&
(b[3] == 'b' || b[3] == 'f' || b[3] == 'g' || b[3] == 'h' || b[3] == 'i') &&
if (((b[0] == 'B' && b[1] == 'I' && b[2] == 'K' &&
(b[3] == 'b' || b[3] == 'f' || b[3] == 'g' || b[3] == 'h' || b[3] == 'i')) ||
(b[0] == 'K' && b[1] == 'B' && b[2] == '2' && /* Bink 2 */
(b[3] == 'a' || b[3] == 'd' || b[3] == 'f' || b[3] == 'g'))) &&
AV_RL32(b+8) > 0 && // num_frames
AV_RL32(b+20) > 0 && AV_RL32(b+20) <= BINK_MAX_WIDTH &&
AV_RL32(b+24) > 0 && AV_RL32(b+24) <= BINK_MAX_HEIGHT &&
Expand Down Expand Up @@ -116,6 +118,12 @@ static int read_header(AVFormatContext *s)

vst->codec->codec_type = AVMEDIA_TYPE_VIDEO;
vst->codec->codec_id = AV_CODEC_ID_BINKVIDEO;

if ((vst->codec->codec_tag & 0xFFFFFF) == MKTAG('K', 'B', '2', 0)) {
av_log(s, AV_LOG_WARNING, "Bink 2 video is not implemented\n");
vst->codec->codec_id = AV_CODEC_ID_NONE;
}

if (ff_get_extradata(vst->codec, pb, 4) < 0)
return AVERROR(ENOMEM);

Expand Down

0 comments on commit 7340718

Please sign in to comment.