registry team mailing list archive
-
registry team
-
Mailing list archive
-
Message #28252
[Bug 672304] Re: Image abnmormally stretched when streaming with transcode activated (Integer overflow in aspect ratio calculation)
** Description changed:
Binary package hint: vlc
- Using VLC 1.1.4 on Ubuntu 10.10. When I try to stream my Desktop (and
- transcoding it with h264), the image I stream is always stretched
- laterally. This also happens when I stream from a webcam (v4l2): the
- image is stretched vertically. Note that if I select to stream without
- transcoding, the image, in either case, looks normal. Please keep in
- mind that this bug seems to be only reproducible with Ubuntu. In Windows
- everything works as expected.
- This is the generated output string used when transcoding is on:
+ Using VLC 1.1.4-1 on Ubuntu 10.10. When I try to stream and transcode from capturing with a webcam, the image in the stream is always stretched vertically. Note that if I select to stream without transcoding, the image, in either case, looks normal. Please keep in mind that this bug seems to be only reproducible with Ubuntu. In Windows everything works as expected. I tried several webcams, with similar results. As it is, streaming from a capture device like a webcam is completely unusable.
- :sout=#transcode{vcodec=h264,vb=1500,scale=1,width=640,height=480,acodec=mp4a,ab=128,channels=2,samplerate=44100}:http{dst=192.168.1.5:8080/stream.flv}
- :no-sout-rtp-sap :no-sout-standard-sap :sout-keep
+ The cause of the bug (a comprehensive description is given in the
+ upstream report) is due to a interger overflow during transcoding.
+ Basically, the aspect ratio for a 640x320 webcam is given in absolute
+ terms, for example 276480000:276480000 which is equivalent to 1:1, but
+ when multiplied by 640 the result is > 32 bits.
- BTW, I tested it with different webcams, resulting all in the same
- abnormal behaviour.
+ The attached patch essentially prevents the overflow by reducing the
+ value of the aspect ratio within 32 bit and by assigning a working value
+ for the aspect ratio of the image after decoding.
+
+ TEST CASE to reproduce:
+ 0. Make sure you have a webcam attached.
+ 1. Launch vlc
+ 2. press CTRL+C for capture from the webcam using v4l2
+ 3. press ALT+S for streaming
+ 4. select stream to a file (but http will do also)
+ 5. Important: make sure you select a transcoding option. Anyone is
+ good, other than OGG (where this bug seem not to apply).
+ 6. Start the stream and wait a few minutes, before turning the stream OFF.
+
+ Expected: the file (or http stream) should have an image with the
+ correct aspect ratio.
+
+ Actual: the video is deformed (in my case vertically elongated.
+
+ The patch has been extensively tested on test builds on VLC
+ 1.1.4-1ubuntu1 in maverick. No collateral effects are expected.
** Description changed:
Binary package hint: vlc
-
- Using VLC 1.1.4-1 on Ubuntu 10.10. When I try to stream and transcode from capturing with a webcam, the image in the stream is always stretched vertically. Note that if I select to stream without transcoding, the image, in either case, looks normal. Please keep in mind that this bug seems to be only reproducible with Ubuntu. In Windows everything works as expected. I tried several webcams, with similar results. As it is, streaming from a capture device like a webcam is completely unusable.
+ Using VLC 1.1.4-1 on Ubuntu 10.10. When I try to stream and transcode
+ from capturing with a webcam, the image in the stream is always
+ stretched vertically. Note that if I select to stream without
+ transcoding, the image, in either case, looks normal. Please keep in
+ mind that this bug seems to be only reproducible with Ubuntu. In Windows
+ everything works as expected. I tried several webcams, with similar
+ results. As it is, streaming from a capture device like a webcam is
+ completely unusable.
The cause of the bug (a comprehensive description is given in the
- upstream report) is due to a interger overflow during transcoding.
+ upstream report) is due to a integer overflow during transcoding.
Basically, the aspect ratio for a 640x320 webcam is given in absolute
terms, for example 276480000:276480000 which is equivalent to 1:1, but
when multiplied by 640 the result is > 32 bits.
The attached patch essentially prevents the overflow by reducing the
value of the aspect ratio within 32 bit and by assigning a working value
for the aspect ratio of the image after decoding.
TEST CASE to reproduce:
0. Make sure you have a webcam attached.
1. Launch vlc
2. press CTRL+C for capture from the webcam using v4l2
3. press ALT+S for streaming
4. select stream to a file (but http will do also)
5. Important: make sure you select a transcoding option. Anyone is
good, other than OGG (where this bug seem not to apply).
6. Start the stream and wait a few minutes, before turning the stream OFF.
Expected: the file (or http stream) should have an image with the
correct aspect ratio.
Actual: the video is deformed (in my case vertically elongated.
The patch has been extensively tested on test builds on VLC
1.1.4-1ubuntu1 in maverick. No collateral effects are expected.
** Patch added: "transcode_aspect_ratio_maverick.diff"
https://bugs.launchpad.net/ubuntu/+source/vlc/+bug/672304/+attachment/1737923/+files/transcode_aspect_ratio_maverick.diff
--
Image abnmormally stretched when streaming with transcode activated (Integer overflow in aspect ratio calculation)
https://bugs.launchpad.net/bugs/672304
You received this bug notification because you are a member of Registry
Administrators, which is the registrant for Debian.