[FFmpeg-devel] [PATCH 2/3] hevc: Support extradata changes
Vittorio Giovara
vittorio.giovara at gmail.com
Thu Nov 17 17:38:44 EET 2016
On Tue, Nov 8, 2016 at 5:03 PM, Vittorio Giovara
<vittorio.giovara at gmail.com> wrote:
> Signed-off-by: Vittorio Giovara <vittorio.giovara at gmail.com>
> ---
> Applied review.
> Please CC.
> Vittorio
>
> libavcodec/hevc.c | 10 ++++++++++
> libavformat/mov.c | 4 ----
> 2 files changed, 10 insertions(+), 4 deletions(-)
>
> diff --git a/libavcodec/hevc.c b/libavcodec/hevc.c
> index 02fd606..4417f79 100644
> --- a/libavcodec/hevc.c
> +++ b/libavcodec/hevc.c
> @@ -3049,6 +3049,8 @@ static int hevc_decode_frame(AVCodecContext *avctx, void *data, int *got_output,
> AVPacket *avpkt)
> {
> int ret;
> + int new_extradata_size;
> + uint8_t *new_extradata;
> HEVCContext *s = avctx->priv_data;
>
> if (!avpkt->size) {
> @@ -3060,6 +3062,14 @@ static int hevc_decode_frame(AVCodecContext *avctx, void *data, int *got_output,
> return 0;
> }
>
> + new_extradata = av_packet_get_side_data(avpkt, AV_PKT_DATA_NEW_EXTRADATA,
> + &new_extradata_size);
> + if (new_extradata && new_extradata_size > 0) {
> + ret = hevc_decode_extradata(s, new_extradata, new_extradata_size);
> + if (ret < 0)
> + return ret;
> + }
> +
> s->ref = NULL;
> ret = decode_nal_units(s, avpkt->data, avpkt->size);
> if (ret < 0)
> diff --git a/libavformat/mov.c b/libavformat/mov.c
> index 2fc09b1..a2a688b 100644
> --- a/libavformat/mov.c
> +++ b/libavformat/mov.c
> @@ -2231,10 +2231,6 @@ static int mov_skip_multiple_stsd(MOVContext *c, AVIOContext *pb,
> avio_skip(pb, size);
> return 1;
> }
> - if ( codec_tag == AV_RL32("hvc1") ||
> - codec_tag == AV_RL32("hev1")
> - )
> - av_log(c->fc, AV_LOG_WARNING, "Concatenated H.264 or H.265 might not play correctly.\n");
>
> return 0;
> }
> --
> 2.10.0
>
ping
--
Vittorio
More information about the ffmpeg-devel
mailing list