[FFmpeg-devel] [PATCH] avcodec: Use get_ue_golomb_long() when needed

Michael Niedermayer michael at niedermayer.cc
Tue Dec 29 11:39:55 CET 2015


On Mon, Dec 28, 2015 at 11:04:08PM -0800, Mark Harris wrote:
> get_ue_golomb() cannot decode values larger than 8190 (the maximum
> value that can be golomb encoded in 25 bits) and produces the error
> "Invalid UE golomb code" if a larger value is encountered.  Use
> get_ue_golomb_long() instead (which supports 63 bits, up to 4294967294)
> when valid h264/hevc values can exceed 8190.
> 
> This updates decoding of the following values:   (maximum)
>   first_mb_in_slice                                36863* for level 5.2
>   abs_diff_pic_num_minus1                         131071
>   difference_of_pic_nums_minus1                   131071
>   idr_pic_id                                       65535
>   recovery_frame_cnt                               65535
>   frame_packing_arrangement_id                4294967294
>   frame_packing_arrangement_repetition_period      16384
>   display_orientation_repetition_period            16384
> 
> An alternative would be to modify get_ue_golomb() to handle encoded
> values of up to 49 bits as was done for get_se_golomb() in a92816c.
> In that case get_ue_golomb() could continue to be used for all of
> these except frame_packing_arrangement_id.
> ---
>  libavcodec/golomb.h      |  2 +-
>  libavcodec/h264.c        |  2 +-
>  libavcodec/h264_parser.c |  6 +++---
>  libavcodec/h264_refs.c   |  4 ++--
>  libavcodec/h264_sei.c    | 10 +++++-----
>  libavcodec/h264_slice.c  |  2 +-
>  libavcodec/hevc_sei.c    |  2 +-
>  7 files changed, 14 insertions(+), 14 deletions(-)

applied

thanks

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Breaking DRM is a little like attempting to break through a door even
though the window is wide open and the only thing in the house is a bunch
of things you dont want and which you would get tomorrow for free anyway
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20151229/b0c165a0/attachment.sig>


More information about the ffmpeg-devel mailing list