if (dst == NULL)
return NULL;
- // printf("decoding esc\n");
memcpy(dst, src, i);
si = di = i;
while (si + 2 < length) {
h->prev_poc_msb = 1 << 16;
h->x264_build = -1;
ff_h264_reset_sei(h);
- if (avctx->codec_id == CODEC_ID_H264) {
+ if (avctx->codec_id == AV_CODEC_ID_H264) {
if (avctx->ticks_per_frame == 1)
s->avctx->time_base.den *= 2;
avctx->ticks_per_frame = 2;
* SVQ3 as well as most other codecs have only last/next/current and thus
* get released even with set reference, besides SVQ3 and others do not
* mark frames as reference later "naturally". */
- if (s->codec_id != CODEC_ID_SVQ3)
+ if (s->codec_id != AV_CODEC_ID_SVQ3)
s->current_picture_ptr->f.reference = 0;
s->current_picture_ptr->field_poc[0] =
h->poc_msb = h->prev_poc_msb - max_poc_lsb;
else
h->poc_msb = h->prev_poc_msb;
- // printf("poc: %d %d\n", h->poc_msb, h->poc_lsb);
field_poc[0] =
field_poc[1] = h->poc_msb + h->poc_lsb;
if (s->picture_structure == PICT_FRAME)
}
} else {
/* Frame or first field in a potentially complementary pair */
- assert(!s0->current_picture_ptr);
s0->first_field = FIELD_PICTURE;
}
s->mb_skip_run = -1;
h->is_complex = FRAME_MBAFF || s->picture_structure != PICT_FRAME ||
- s->codec_id != CODEC_ID_H264 ||
+ s->codec_id != AV_CODEC_ID_H264 ||
(CONFIG_GRAY && (s->flags & CODEC_FLAG_GRAY));
if (h->pps.cabac) {
buf[buf_index + 2] == 1)
break;
- if (buf_index + 3 >= buf_size)
+ if (buf_index + 3 >= buf_size) {
+ buf_index = buf_size;
break;
+ }
buf_index += 3;
if (buf_index >= next_avc)
if (avctx->bits_per_raw_sample != h->sps.bit_depth_luma ||
h->cur_chroma_format_idc != h->sps.chroma_format_idc) {
+ if (s->avctx->codec &&
+ s->avctx->codec->capabilities & CODEC_CAP_HWACCEL_VDPAU
+ && (h->sps.bit_depth_luma != 8 ||
+ h->sps.chroma_format_idc > 1)) {
+ av_log(avctx, AV_LOG_ERROR,
+ "VDPAU decoding does not support video "
+ "colorspace\n");
+ buf_index = -1;
+ goto end;
+ }
if (h->sps.bit_depth_luma >= 8 && h->sps.bit_depth_luma <= 10) {
avctx->bits_per_raw_sample = h->sps.bit_depth_luma;
h->cur_chroma_format_idc = h->sps.chroma_format_idc;
assert(pict->data[0] || !*data_size);
ff_print_debug_info(s, pict);
- // printf("out %d\n", (int)pict->data[0]);
return get_consumed_bytes(s, buf_index, buf_size);
}
AVCodec ff_h264_decoder = {
.name = "h264",
.type = AVMEDIA_TYPE_VIDEO,
- .id = CODEC_ID_H264,
+ .id = AV_CODEC_ID_H264,
.priv_data_size = sizeof(H264Context),
.init = ff_h264_decode_init,
.close = h264_decode_end,
AVCodec ff_h264_vdpau_decoder = {
.name = "h264_vdpau",
.type = AVMEDIA_TYPE_VIDEO,
- .id = CODEC_ID_H264,
+ .id = AV_CODEC_ID_H264,
.priv_data_size = sizeof(H264Context),
.init = ff_h264_decode_init,
.close = h264_decode_end,