Skip to content

Commit 5e01695

Browse files
committed
Cleanup for jpegyuv and yuvjpeg
1 parent a53303b commit 5e01695

2 files changed

Lines changed: 22 additions & 22 deletions

File tree

jpegyuv.c

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ int main(int argc, char *argv[]) {
5454
int chroma_height;
5555
int frame_width;
5656
int yuv_size;
57-
JSAMPLE *image_buffer;
57+
JSAMPLE *jpg_buffer;
5858
JSAMPROW yrow_pointer[16];
5959
JSAMPROW cbrow_pointer[8];
6060
JSAMPROW crrow_pointer[8];
@@ -104,14 +104,16 @@ int main(int argc, char *argv[]) {
104104
yuv_size = luma_width*luma_height + 2*chroma_width*chroma_height;
105105
yuv_buffer = malloc(yuv_size);
106106
if (!yuv_buffer) {
107+
fclose(jpg_fd);
107108
fprintf(stderr, "Memory allocation failure!\n");
108109
return 1;
109110
}
110111

111112
frame_width = (cinfo.output_width + (16 - 1)) & ~(16 - 1);
112113

113-
image_buffer = malloc(frame_width*16 + 2*(frame_width/2)*8);
114-
if (!image_buffer) {
114+
jpg_buffer = malloc(frame_width*16 + 2*(frame_width/2)*8);
115+
if (!jpg_buffer) {
116+
fclose(jpg_fd);
115117
free(yuv_buffer);
116118
fprintf(stderr, "Memory allocation failure!\n");
117119
return 1;
@@ -122,11 +124,11 @@ int main(int argc, char *argv[]) {
122124
plane_pointer[2] = crrow_pointer;
123125

124126
for (y = 0; y < 16; y++) {
125-
yrow_pointer[y] = &image_buffer[frame_width*y];
127+
yrow_pointer[y] = &jpg_buffer[frame_width*y];
126128
}
127129
for (y = 0; y < 8; y++) {
128-
cbrow_pointer[y] = &image_buffer[frame_width*16 + (frame_width/2)*y];
129-
crrow_pointer[y] = &image_buffer[frame_width*16 + (frame_width/2)*(8 + y)];
130+
cbrow_pointer[y] = &jpg_buffer[frame_width*16 + (frame_width/2)*y];
131+
crrow_pointer[y] = &jpg_buffer[frame_width*16 + (frame_width/2)*(8 + y)];
130132
}
131133

132134
while (cinfo.output_scanline < cinfo.output_height) {
@@ -154,12 +156,10 @@ int main(int argc, char *argv[]) {
154156
}
155157

156158
jpeg_finish_decompress(&cinfo);
157-
158159
jpeg_destroy_decompress(&cinfo);
159160

160161
fclose(jpg_fd);
161-
162-
free(image_buffer);
162+
free(jpg_buffer);
163163

164164
yuv_fd = fopen(yuv_path, "wb");
165165
if (!yuv_fd) {
@@ -170,8 +170,8 @@ int main(int argc, char *argv[]) {
170170
if (fwrite(yuv_buffer, yuv_size, 1, yuv_fd) != 1) {
171171
fprintf(stderr, "Error writing yuv file\n");
172172
}
173-
fclose(yuv_fd);
174173

174+
fclose(yuv_fd);
175175
free(yuv_buffer);
176176

177177
return 0;

yuvjpeg.c

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ int main(int argc, char *argv[]) {
106106
FILE *yuv_fd;
107107
size_t yuv_size;
108108
unsigned char *yuv_buffer;
109-
JSAMPLE *image_buffer;
109+
JSAMPLE *jpg_buffer;
110110
struct jpeg_compress_struct cinfo;
111111
struct jpeg_error_mgr jerr;
112112
FILE *jpg_fd;
@@ -174,12 +174,14 @@ int main(int argc, char *argv[]) {
174174
/* Check that the file size matches 4:2:0 yuv. */
175175
if (yuv_size !=
176176
(size_t)luma_width*luma_height + 2*chroma_width*chroma_height) {
177+
fclose(yuv_fd);
177178
fprintf(stderr, "Unexpected input format!\n");
178179
return 1;
179180
}
180181

181182
yuv_buffer = malloc(yuv_size);
182183
if (!yuv_buffer) {
184+
fclose(yuv_fd);
183185
fprintf(stderr, "Memory allocation failure!\n");
184186
return 1;
185187
}
@@ -193,15 +195,15 @@ int main(int argc, char *argv[]) {
193195
frame_width = (luma_width + (16 - 1)) & ~(16 - 1);
194196
frame_height = (luma_height + (16 - 1)) & ~(16 - 1);
195197

196-
image_buffer =
198+
jpg_buffer =
197199
malloc(frame_width*frame_height + 2*(frame_width/2)*(frame_height/2));
198-
if (!image_buffer) {
200+
if (!jpg_buffer) {
199201
free(yuv_buffer);
200202
fprintf(stderr, "Memory allocation failure!\n");
201203
return 1;
202204
}
203205

204-
extend_edge(image_buffer, frame_width, frame_height,
206+
extend_edge(jpg_buffer, frame_width, frame_height,
205207
yuv_buffer, luma_width, luma_height, chroma_width, chroma_height);
206208

207209
free(yuv_buffer);
@@ -210,9 +212,9 @@ int main(int argc, char *argv[]) {
210212
jpeg_create_compress(&cinfo);
211213

212214
jpg_fd = fopen(jpg_path, "wb");
213-
if (!jpg_fd) {
215+
if (!jpg_fd) {
216+
free(jpg_buffer);
214217
fprintf(stderr, "Invalid path to JPEG file!\n");
215-
free(image_buffer);
216218
return 1;
217219
}
218220

@@ -259,23 +261,21 @@ int main(int argc, char *argv[]) {
259261
scanline = cinfo.next_scanline;
260262

261263
for (y = 0; y < 16; y++) {
262-
yrow_pointer[y] = &image_buffer[frame_width*(scanline + y)];
264+
yrow_pointer[y] = &jpg_buffer[frame_width*(scanline + y)];
263265
}
264266
for (y = 0; y < 8; y++) {
265-
cbrow_pointer[y] = &image_buffer[frame_width*frame_height +
267+
cbrow_pointer[y] = &jpg_buffer[frame_width*frame_height +
266268
(frame_width/2)*((scanline/2) + y)];
267-
crrow_pointer[y] = &image_buffer[frame_width*frame_height +
269+
crrow_pointer[y] = &jpg_buffer[frame_width*frame_height +
268270
(frame_width/2)*(frame_height/2) + (frame_width/2)*((scanline/2) + y)];
269271
}
270272
jpeg_write_raw_data(&cinfo, plane_pointer, 16);
271273
}
272274

273275
jpeg_finish_compress(&cinfo);
274-
275276
jpeg_destroy_compress(&cinfo);
276277

277-
free(image_buffer);
278-
278+
free(jpg_buffer);
279279
fclose(jpg_fd);
280280

281281
return 0;

0 commit comments

Comments
 (0)