Skip to content

Commit

Permalink
Merge pull request #71 from ros-drivers/fix_L
Browse files Browse the repository at this point in the history
add AV_ to PIX_FMT_* for X,Y
  • Loading branch information
k-okada authored Jun 15, 2017
2 parents 214eb9a + a52dee3 commit ce8c6a9
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 15 deletions.
16 changes: 7 additions & 9 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
language:
- cpp
- python
python:
- "2.7"
sudo: required
dist: trusty
language: generic
compiler:
- gcc

Expand All @@ -12,18 +10,18 @@ branches:
- develop

install:
- sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu precise main" > /etc/apt/sources.list.d/ros-latest.list'
- sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu trusty main" > /etc/apt/sources.list.d/ros-latest.list'
- wget http://packages.ros.org/ros.key -O - | sudo apt-key add -
- sudo apt-get update -qq
- sudo apt-get install python-catkin-pkg python-rosdep ros-hydro-catkin -qq
- sudo apt-get install python-catkin-pkg python-rosdep ros-indigo-catkin -qq
- sudo rosdep init
- rosdep update
- mkdir -p /tmp/ws/src
- ln -s `pwd` /tmp/ws/src/package
- cd /tmp/ws
- rosdep install --from-paths src --ignore-src --rosdistro hydro -y
- rosdep install --from-paths src --ignore-src --rosdistro indigo -y

script:
- source /opt/ros/hydro/setup.bash
- source /opt/ros/indigo/setup.bash
- catkin_make
- catkin_make install
12 changes: 6 additions & 6 deletions src/usb_cam.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -383,19 +383,19 @@ int UsbCam::init_mjpeg_decoder(int image_width, int image_height)
avframe_rgb_ = av_frame_alloc();
#endif

avpicture_alloc((AVPicture *)avframe_rgb_, PIX_FMT_RGB24, image_width, image_height);
avpicture_alloc((AVPicture *)avframe_rgb_, AV_PIX_FMT_RGB24, image_width, image_height);

avcodec_context_->codec_id = AV_CODEC_ID_MJPEG;
avcodec_context_->width = image_width;
avcodec_context_->height = image_height;

#if LIBAVCODEC_VERSION_MAJOR > 52
avcodec_context_->pix_fmt = PIX_FMT_YUV422P;
avcodec_context_->pix_fmt = AV_PIX_FMT_YUV422P;
avcodec_context_->codec_type = AVMEDIA_TYPE_VIDEO;
#endif

avframe_camera_size_ = avpicture_get_size(PIX_FMT_YUV422P, image_width, image_height);
avframe_rgb_size_ = avpicture_get_size(PIX_FMT_RGB24, image_width, image_height);
avframe_camera_size_ = avpicture_get_size(AV_PIX_FMT_YUV422P, image_width, image_height);
avframe_rgb_size_ = avpicture_get_size(AV_PIX_FMT_RGB24, image_width, image_height);

/* open it */
if (avcodec_open2(avcodec_context_, avcodec_, &avoptions_) < 0)
Expand Down Expand Up @@ -445,13 +445,13 @@ void UsbCam::mjpeg2rgb(char *MJPEG, int len, char *RGB, int NumPixels)
return;
}

video_sws_ = sws_getContext(xsize, ysize, avcodec_context_->pix_fmt, xsize, ysize, PIX_FMT_RGB24, SWS_BILINEAR, NULL,
video_sws_ = sws_getContext(xsize, ysize, avcodec_context_->pix_fmt, xsize, ysize, AV_PIX_FMT_RGB24, SWS_BILINEAR, NULL,
NULL, NULL);
sws_scale(video_sws_, avframe_camera_->data, avframe_camera_->linesize, 0, ysize, avframe_rgb_->data,
avframe_rgb_->linesize);
sws_freeContext(video_sws_);

int size = avpicture_layout((AVPicture *)avframe_rgb_, PIX_FMT_RGB24, xsize, ysize, (uint8_t *)RGB, avframe_rgb_size_);
int size = avpicture_layout((AVPicture *)avframe_rgb_, AV_PIX_FMT_RGB24, xsize, ysize, (uint8_t *)RGB, avframe_rgb_size_);
if (size != avframe_rgb_size_)
{
ROS_ERROR("webcam: avpicture_layout error: %d", size);
Expand Down

0 comments on commit ce8c6a9

Please sign in to comment.