creo que deberias chequear primero si la imagen se subió y si es jpg para saber si en realidad estas trabajando con la imagen
ejem
Código:
if ($_FILES['subir']['type'] == "image/jpeg"){
//trabajo con la imagen
}
despues obtienes la imagen a donde la copiaste
ejem
Código:
$filename = "../pics/$nombre1";
y de ahi sigues
podrías utilizar
imagecopyresampled() para mejor calidad y después
imagefill()..
Espero haya ayudado.