Merge remote-tracking branch 'qatar/master'
* qatar/master: configure: add POWER[5-7] support arm: intreadwrite: revert 16-bit load asm to old version for gcc < 4.6 vqavideo: return error if image size is not a multiple of block size cosmetics: indentation avformat: only fill-in interpolated timestamps if duration is non-zero avformat: remove a workaround for broken timestamps Conflicts: libavformat/utils.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
commit
bce42e95d1
5
configure
vendored
5
configure
vendored
@ -2481,9 +2481,12 @@ elif enabled ppc; then
|
|||||||
74*|ppc74*|powerpc74*)
|
74*|ppc74*|powerpc74*)
|
||||||
cpuflags="-mcpu=7400 -mpowerpc-gfxopt"
|
cpuflags="-mcpu=7400 -mpowerpc-gfxopt"
|
||||||
;;
|
;;
|
||||||
g5|970|ppc970|powerpc970|power4*)
|
g5|970|ppc970|powerpc970)
|
||||||
cpuflags="-mcpu=970 -mpowerpc-gfxopt -mpowerpc64"
|
cpuflags="-mcpu=970 -mpowerpc-gfxopt -mpowerpc64"
|
||||||
;;
|
;;
|
||||||
|
power[3-7]*)
|
||||||
|
cpuflags="-mcpu=$cpu -mpowerpc-gfxopt -mpowerpc64"
|
||||||
|
;;
|
||||||
cell)
|
cell)
|
||||||
cpuflags="-mcpu=cell"
|
cpuflags="-mcpu=cell"
|
||||||
enable ldbrx
|
enable ldbrx
|
||||||
|
@ -155,6 +155,11 @@ static av_cold int vqa_decode_init(AVCodecContext *avctx)
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (s->width % s->vector_width || s->height % s->vector_height) {
|
||||||
|
av_log(avctx, AV_LOG_ERROR, "Image size not multiple of block size\n");
|
||||||
|
return AVERROR_INVALIDDATA;
|
||||||
|
}
|
||||||
|
|
||||||
/* allocate codebooks */
|
/* allocate codebooks */
|
||||||
s->codebook_size = MAX_CODEBOOK_SIZE;
|
s->codebook_size = MAX_CODEBOOK_SIZE;
|
||||||
s->codebook = av_malloc(s->codebook_size);
|
s->codebook = av_malloc(s->codebook_size);
|
||||||
@ -164,11 +169,6 @@ static av_cold int vqa_decode_init(AVCodecContext *avctx)
|
|||||||
if (!s->next_codebook_buffer)
|
if (!s->next_codebook_buffer)
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
if (s->width % s->vector_width || s->height % s->vector_height) {
|
|
||||||
av_log(avctx, AV_LOG_ERROR, "Picture dimensions are not a multiple of the vector size\n");
|
|
||||||
goto fail;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* allocate decode buffer */
|
/* allocate decode buffer */
|
||||||
s->decode_buffer_size = (s->width / s->vector_width) *
|
s->decode_buffer_size = (s->width / s->vector_width) *
|
||||||
(s->height / s->vector_height) * 2;
|
(s->height / s->vector_height) * 2;
|
||||||
|
@ -1082,13 +1082,14 @@ static void compute_pkt_fields(AVFormatContext *s, AVStream *st,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* presentation is not delayed : PTS and DTS are the same */
|
/* presentation is not delayed : PTS and DTS are the same */
|
||||||
if(pkt->pts == AV_NOPTS_VALUE)
|
if (pkt->pts == AV_NOPTS_VALUE)
|
||||||
pkt->pts = pkt->dts;
|
pkt->pts = pkt->dts;
|
||||||
update_initial_timestamps(s, pkt->stream_index, pkt->pts, pkt->pts);
|
update_initial_timestamps(s, pkt->stream_index, pkt->pts,
|
||||||
if(pkt->pts == AV_NOPTS_VALUE)
|
pkt->pts);
|
||||||
|
if (pkt->pts == AV_NOPTS_VALUE)
|
||||||
pkt->pts = st->cur_dts;
|
pkt->pts = st->cur_dts;
|
||||||
pkt->dts = pkt->pts;
|
pkt->dts = pkt->pts;
|
||||||
if(pkt->pts != AV_NOPTS_VALUE)
|
if (pkt->pts != AV_NOPTS_VALUE)
|
||||||
st->cur_dts = pkt->pts + duration;
|
st->cur_dts = pkt->pts + duration;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -30,7 +30,9 @@ static av_always_inline unsigned AV_RN16(const void *p)
|
|||||||
{
|
{
|
||||||
const uint8_t *q = p;
|
const uint8_t *q = p;
|
||||||
unsigned v;
|
unsigned v;
|
||||||
#ifdef __thumb__
|
#if !AV_GCC_VERSION_AT_LEAST(4,6)
|
||||||
|
__asm__ ("ldrh %0, %1" : "=r"(v) : "m"(*(const uint16_t *)q));
|
||||||
|
#elif defined __thumb__
|
||||||
__asm__ ("ldrh %0, %1" : "=r"(v) : "m"(q[0]), "m"(q[1]));
|
__asm__ ("ldrh %0, %1" : "=r"(v) : "m"(q[0]), "m"(q[1]));
|
||||||
#else
|
#else
|
||||||
__asm__ ("ldrh %0, %1" : "=r"(v) : "Uq"(q[0]), "m"(q[1]));
|
__asm__ ("ldrh %0, %1" : "=r"(v) : "Uq"(q[0]), "m"(q[1]));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user