On Fri, May 20, 2011 at 4:03 AM, Felipe Contreras
<[email protected]> wrote:
> 2011/5/20 Måns Rullgård <[email protected]>:
>> "Ronald S. Bultje" <[email protected]> writes:
>>> On Thu, May 19, 2011 at 5:39 PM, Felipe Contreras
>>> <[email protected]> wrote:
>>>> Signed-off-by: Felipe Contreras <[email protected]>
>>>> ---
>>>>  libavcodec/h264.c |    3 +++
>>>>  1 files changed, 3 insertions(+), 0 deletions(-)
>>>>
>>>> diff --git a/libavcodec/h264.c b/libavcodec/h264.c
>>>> index 6b262bc..2e04308 100644
>>>> --- a/libavcodec/h264.c
>>>> +++ b/libavcodec/h264.c
>>>> @@ -1914,6 +1914,9 @@ static int decode_slice_header(H264Context *h, 
>>>> H264Context *h0){
>>>>         s->avctx->sample_aspect_ratio= h->sps.sar;
>>>>         av_assert0(s->avctx->sample_aspect_ratio.den);
>>>>
>>>> +        h->s.avctx->coded_width = 16*s->mb_width;
>>>> +        h->s.avctx->coded_height = 16*s->mb_height;
>>>> +
>>>>         if(h->sps.video_signal_type_present_flag){
>>>>             s->avctx->color_range = h->sps.full_range ? AVCOL_RANGE_JPEG : 
>>>> AVCOL_RANGE_MPEG;
>>>>             if(h->sps.colour_description_present_flag){
>>>
>>> Shouldn't avcodec_set_dimensions() set this?
>>
>> The line before the context of this diff looks like this:
>>
>>        avcodec_set_dimensions(s->avctx, s->width, s->height);
>>
>> This sets coded_{width,height} to s->{width,height}.  I don't know how
>> this relates to mb_width and mb_height.
>
> The code is above:
>
>    s->width = 16*s->mb_width - 2*FFMIN(h->sps.crop_right, 7);
>    if(h->sps.frame_mbs_only_flag)
>        s->height= 16*s->mb_height - 2*FFMIN(h->sps.crop_bottom, 7);
>    else
>        s->height= 16*s->mb_height - 4*FFMIN(h->sps.crop_bottom, 7);
>
> So basically one is cropped, the other one isn't.

So?

-- 
Felipe Contreras
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to