mirror of https://git.ffmpeg.org/ffmpeg.git
ump4 decoding fixed
Originally committed as revision 1322 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
00a7d8d69c
commit
2b2719acff
|
@ -3624,7 +3624,7 @@ static inline int mpeg4_decode_block(MpegEncContext * s, DCTELEM * block,
|
||||||
#if 1
|
#if 1
|
||||||
{
|
{
|
||||||
const int abs_level= ABS(level);
|
const int abs_level= ABS(level);
|
||||||
if(abs_level<=MAX_LEVEL && run<=MAX_RUN){
|
if(abs_level<=MAX_LEVEL && run<=MAX_RUN && !(s->workaround_bugs&FF_BUG_AC_VLC)){
|
||||||
const int run1= run - rl->max_run[last][abs_level] - 1;
|
const int run1= run - rl->max_run[last][abs_level] - 1;
|
||||||
if(abs_level <= rl->max_level[last][run]){
|
if(abs_level <= rl->max_level[last][run]){
|
||||||
fprintf(stderr, "illegal 3. esc, vlc encoding possible\n");
|
fprintf(stderr, "illegal 3. esc, vlc encoding possible\n");
|
||||||
|
|
|
@ -442,13 +442,13 @@ retry:
|
||||||
if(s->workaround_bugs&FF_BUG_AUTODETECT){
|
if(s->workaround_bugs&FF_BUG_AUTODETECT){
|
||||||
if(s->avctx->fourcc == ff_get_fourcc("XVIX"))
|
if(s->avctx->fourcc == ff_get_fourcc("XVIX"))
|
||||||
s->workaround_bugs|= FF_BUG_XVID_ILACE;
|
s->workaround_bugs|= FF_BUG_XVID_ILACE;
|
||||||
|
#if 0
|
||||||
if(s->avctx->fourcc == ff_get_fourcc("MP4S"))
|
if(s->avctx->fourcc == ff_get_fourcc("MP4S"))
|
||||||
s->workaround_bugs|= FF_BUG_AC_VLC;
|
s->workaround_bugs|= FF_BUG_AC_VLC;
|
||||||
|
|
||||||
if(s->avctx->fourcc == ff_get_fourcc("M4S2"))
|
if(s->avctx->fourcc == ff_get_fourcc("M4S2"))
|
||||||
s->workaround_bugs|= FF_BUG_AC_VLC;
|
s->workaround_bugs|= FF_BUG_AC_VLC;
|
||||||
|
#endif
|
||||||
if(s->avctx->fourcc == ff_get_fourcc("UMP4")){
|
if(s->avctx->fourcc == ff_get_fourcc("UMP4")){
|
||||||
s->workaround_bugs|= FF_BUG_UMP4;
|
s->workaround_bugs|= FF_BUG_UMP4;
|
||||||
s->workaround_bugs|= FF_BUG_AC_VLC;
|
s->workaround_bugs|= FF_BUG_AC_VLC;
|
||||||
|
|
Loading…
Reference in New Issue