Quoting Janne Grunau (2016-03-21 22:44:58)
> On 2016-03-21 15:00:19 +0100, Anton Khirnov wrote:
> > This should make it more clear that it is not supposed to be used for
> > anything except logging.
> > ---
> > libavcodec/h2645_parse.c | 12 ++++++------
> > libavcodec/h2645_parse.h | 2 +-
> > 2 files changed, 7 insertions(+), 7 deletions(-)
> >
> > diff --git a/libavcodec/h2645_parse.c b/libavcodec/h2645_parse.c
> > index 0064b7d..57a78e9 100644
> > --- a/libavcodec/h2645_parse.c
> > +++ b/libavcodec/h2645_parse.c
> > @@ -132,7 +132,7 @@ nsc:
> > * @return AVERROR_INVALIDDATA if the packet is not a valid NAL unit,
> > * 0 if the unit should be skipped, 1 otherwise
> > */
> > -static int hevc_parse_nal_header(H2645NAL *nal, AVCodecContext *avctx)
> > +static int hevc_parse_nal_header(H2645NAL *nal, void *logctx)
> > {
> > GetBitContext *gb = &nal->gb;
> > int nuh_layer_id;
> > @@ -147,7 +147,7 @@ static int hevc_parse_nal_header(H2645NAL *nal,
> > AVCodecContext *avctx)
> > if (nal->temporal_id < 0)
> > return AVERROR_INVALIDDATA;
> >
> > - av_log(avctx, AV_LOG_DEBUG,
> > + av_log(logctx, AV_LOG_DEBUG,
> > "nal_unit_type: %d, nuh_layer_id: %dtemporal_id: %d\n",
> > nal->type, nuh_layer_id, nal->temporal_id);
> >
> > @@ -156,7 +156,7 @@ static int hevc_parse_nal_header(H2645NAL *nal,
> > AVCodecContext *avctx)
> >
> >
> > int ff_h2645_packet_split(H2645Packet *pkt, const uint8_t *buf, int length,
> > - AVCodecContext *avctx, int is_nalff, int
> > nal_length_size)
> > + void *logctx, int is_nalff, int nal_length_size)
> > {
> > int consumed, ret = 0;
> >
> > @@ -173,7 +173,7 @@ int ff_h2645_packet_split(H2645Packet *pkt, const
> > uint8_t *buf, int length,
> > length -= nal_length_size;
> >
> > if (extract_length > length) {
> > - av_log(avctx, AV_LOG_ERROR, "Invalid NAL unit size.\n");
> > + av_log(logctx, AV_LOG_ERROR, "Invalid NAL unit size.\n");
> > return AVERROR_INVALIDDATA;
> > }
> > } else {
> > @@ -211,10 +211,10 @@ int ff_h2645_packet_split(H2645Packet *pkt, const
> > uint8_t *buf, int length,
> > if (ret < 0)
> > return ret;
> >
> > - ret = hevc_parse_nal_header(nal, avctx);
> > + ret = hevc_parse_nal_header(nal, logctx);
> > if (ret <= 0) {
> > if (ret < 0) {
> > - av_log(avctx, AV_LOG_ERROR, "Invalid NAL unit %d,
> > skipping.\n",
> > + av_log(logctx, AV_LOG_ERROR, "Invalid NAL unit %d,
> > skipping.\n",
> > nal->type);
> > }
> > pkt->nb_nals--;
> > diff --git a/libavcodec/h2645_parse.h b/libavcodec/h2645_parse.h
> > index eaf7d60..db98007 100644
> > --- a/libavcodec/h2645_parse.h
> > +++ b/libavcodec/h2645_parse.h
> > @@ -59,7 +59,7 @@ int ff_h2645_extract_rbsp(const uint8_t *src, int length,
> > * Split an input packet into NAL units.
> > */
> > int ff_h2645_packet_split(H2645Packet *pkt, const uint8_t *buf, int length,
> > - AVCodecContext *avctx, int is_nalff, int
> > nal_length_size);
> > + void *logctx, int is_nalff, int nal_length_size);
> >
> > /**
> > * Free all the allocated memory in the packet.
>
> ok, although I don't see the need for changing it. Writing new code this
> way is of course fine.
Because the way it is, it tempts people into accessing some
AVCodecContext fields.
--
Anton Khirnov
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel