ALT Linux Bugzilla
– Attachment 1962 Details for
Bug 11760
DTS (DCA) decoding is broken
New bug
|
Search
|
[?]
|
Help
Register
|
Log In
[x]
|
Forgot Password
Login:
[x]
|
EN
|
RU
[patch]
[PATCH 02] dtsdec: save frame flags in DTSContext
0002-dtsdec-save-frame-flags-in-DTSContext.patch (text/plain), 1.74 KB, created by
Sergey Vlasov
on 2007-05-15 14:55:13 MSD
(
hide
)
Description:
[PATCH 02] dtsdec: save frame flags in DTSContext
Filename:
MIME Type:
Creator:
Sergey Vlasov
Created:
2007-05-15 14:55:13 MSD
Size:
1.74 KB
patch
obsolete
>From 515625622470bb406ed87b8b36739847b4655c39 Mon Sep 17 00:00:00 2001 >From: Sergey Vlasov <vsu@altlinux.ru> >Date: Tue, 15 May 2007 14:21:33 +0400 >Subject: dtsdec: save frame flags in DTSContext > >Frame flags must be saved between calls to dts_decode_frame() (if the >input buffer did not hold a complete frame, flags for that frame will >be used by the next dts_decode_frame() call when the rest of frame >data is available). Fixes "dts_frame() failed" errors in mplayer due >to uninitialized garbage in flags. > >Signed-off-by: Sergey Vlasov <vsu@altlinux.ru> >--- > libavcodec/dtsdec.c | 5 +++-- > 1 files changed, 3 insertions(+), 2 deletions(-) > >diff --git a/libavcodec/dtsdec.c b/libavcodec/dtsdec.c >index cf77a57..17ba86f 100644 >--- a/libavcodec/dtsdec.c >+++ b/libavcodec/dtsdec.c >@@ -36,6 +36,7 @@ typedef struct DTSContext { > uint8_t buf[BUFFER_SIZE]; > uint8_t *bufptr; > uint8_t *bufpos; >+ int flags; > } DTSContext; > > static inline int16_t >@@ -201,7 +202,7 @@ dts_decode_frame(AVCodecContext * avctx, void *data, int *data_size, > if(s->bufpos != s->buf + HEADER_SIZE) > break; > >- length = dts_syncinfo(s->state, s->buf, &flags, &sample_rate, >+ length = dts_syncinfo(s->state, s->buf, &s->flags, &sample_rate, > &bit_rate, &frame_length); > if(!length) { > av_log(NULL, AV_LOG_INFO, "skip\n"); >@@ -215,7 +216,7 @@ dts_decode_frame(AVCodecContext * avctx, void *data, int *data_size, > level = CONVERT_LEVEL; > bias = CONVERT_BIAS; > >- flags |= DTS_ADJUST_LEVEL; >+ flags = s->flags | DTS_ADJUST_LEVEL; > if(dts_frame(s->state, s->buf, &flags, &level, bias)) { > av_log(avctx, AV_LOG_ERROR, "dts_frame() failed\n"); > goto end; >-- >1.5.1.1.197.g66b3 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 11760
:
1961
|
1962
|
1963
|
1964
|
1969
|
1990