Opened 6 years ago

Closed 5 years ago

#411 closed enhancement (fixed)

Support left and top cropping in H264

Reported by: seaweed Owned by:
Priority: wish Component: avcodec
Version: git-master Keywords: H264
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

Hi Im am trying to decode a 1080 P H264 video stream from a camera with VDPAU (NVIDIA driver version 260.19.04) / FFMPeg as the input demuxer/NALU parser. I am seeing the message below while decoding. The camera sends out slightly larger height frames than 1080 (1084). And I repeatedly get these messages about every second:

Last message repeated 1 times
[h264_vdpau @ 0x7f210c46df30]insane cropping not completely supported, this could look slightly wrong ...
[h264_vdpau @ 0x7f210c46df30]no frame!

I believe this happens during SPS/PPS parsing.
I captured some raw H.264 bitstream in a file and uploaded at http://www.datafilehost.com/download-f537c855.html. Its interesting that when this video stream is wrapped within RTMP packets and submitted to flash, flash player plays it fine - with no extra 4 bytes at the top and no signs of hiccups. The parser seems to cause latency issues when this happens (stuck for couple of seconds).

Attachments (1)

rawh264bitStream_insane_cropping (2.2 MB) - added by cehoyos 6 years ago.

Change History (4)

comment:1 Changed 6 years ago by cehoyos

  • Priority changed from normal to wish
  • Reproduced by developer set
  • Status changed from new to open
  • Summary changed from Insane cropping error to Support left and top cropping in H264
  • Type changed from defect to enhancement
  • Version changed from 0.8.2 to git-master

No relation to VDPAU.

ffmpeg -i rawh264bitStream_insane_cropping
ffmpeg version N-32034-g18de796, Copyright (c) 2000-2011 the FFmpeg developers
  built on Aug 21 2011 16:38:27 with gcc 4.5.3
  configuration: --enable-libopencore-amrnb --enable-version3 --cc=/usr/local/gcc-4.5.3/bin/gcc
  libavutil    51. 13. 0 / 51. 13. 0
  libavcodec   53. 11. 0 / 53. 11. 0
  libavformat  53.  9. 0 / 53.  9. 0
  libavdevice  53.  3. 0 / 53.  3. 0
  libavfilter   2. 34. 1 /  2. 34. 1
  libswscale    2.  0. 0 /  2.  0. 0
[h264 @ 0x129f560] non-existing PPS referenced
[h264 @ 0x129f560] non-existing PPS 0 referenced
[h264 @ 0x129f560] decode_slice_header error
[h264 @ 0x129f560] no frame!

...

[h264 @ 0x129f560] non-existing PPS referenced
[h264 @ 0x129f560] non-existing PPS 0 referenced
[h264 @ 0x129f560] decode_slice_header error
[h264 @ 0x129f560] no frame!
[h264 @ 0x129f560] insane cropping not completely supported, this could look slightly wrong ... (top: 2, bottom: 2, left: 0, right: 0)
    Last message repeated 3 times
[h264 @ 0x129d420] Estimating duration from bitrate, this may be inaccurate

Seems stream 0 codec frame rate differs from container frame rate: 50.00 (50/1) -> 25.00 (50/2)
Input #0, h264, from 'rawh264bitStream_insane_cropping':
  Duration: N/A, bitrate: N/A
    Stream #0.0: Video: h264 (Main), yuv420p, 1920x1084 [SAR 1:1 DAR 480:271], 28.49 fps, 25 tbr, 1200k tbn, 50 tbc
At least one output file must be specified

Changed 6 years ago by cehoyos

comment:2 Changed 6 years ago by cehoyos

  • Keywords H264 added

comment:3 Changed 5 years ago by cehoyos

  • Resolution set to fixed
  • Status changed from open to closed

This was fixed by Vittorio Giovara, and works fine now with ffmpeg and ffplay (and mplayer -vc ffh264).

It does not work correctly with mplayer -vc ffh264vdpau, I don't know if that is a limitation of MPlayer or libavcodec.

Note: See TracTickets for help on using tickets.